我们正在使用 Mirantis Fuel 7.0 部署 OpenStack Kilo,到目前为止,该系统似乎正在运行。我们添加了云高仪组件和热量,使我们的用户可以自动升级或缩小我们在堆栈上使用的某些 LoadBalancer 服务器。
自动放大和缩小似乎运行良好。唯一的问题是,当我们在“编排”选项卡中检查资源时,生成的 WebHook 指向管理 URL (192.168.0.2:8000),而不是指向与公共 URL 或(最好)服务器名称相同的字符串。
应该是这样的:
https://<serverPublicIP>:8000/v1/[...]
看起来像这样:
https://192.168.0.2:8000/v1/[...]
我检查了端口 (8000),它是打开的并在公共端点上侦听,所以问题不在于服务,而在于生成信息的组件。事实上,如果我手动复制地址并编辑正确的 IP,它可以使用 Restful 客户端或简单的 Web 浏览器从环境外部工作。
但是我们需要生成的 webhook 自动使用公共 URL,以便我们的客户可以从外部应用程序(而不是仅从我们的 OpenStack/horizon 安装)进行调用以修改堆栈状态。
我检查了 /etc/heat/heat.conf 下的 heat 配置,可以找到一些可疑的设置,例如:
heat_metadata_server_url=http://192.168.0.2:8000
heat_waitcondition_server_url=http://192.168.0.2:8000/v1/waitcondition
heat_watch_server_url=http://192.168.0.2:8003
auth_uri = http://192.168.0.2:5000/v2.0
auth_host = 192.168.0.2
不确定这些参数中的哪一个可能是它用于生成 webhook 的参数。
我已经尝试使用公共 IP 和服务器本身的名称来修改它们,似乎没有任何区别。用户界面上的 webhook 仍然指向管理网络中的控制器内部 IP。