Мы развертываем OpenStack Kilo с использованием Mirantis Fuel 7.0, и пока система работает. Мы добавили компонент облакомера и тепло, чтобы наши пользователи могли автоматически повышать или понижать масштаб некоторых серверов LoadBalancer, которые мы используем в наших стеках.
Автоматическое увеличение и уменьшение масштаба, кажется, работает хорошо. Единственная проблема заключается в том, что когда мы переходим к проверке ресурсов на вкладке Orchestration, сгенерированный WebHook указывает на URL-адрес управления (192.168.0.2:8000) вместо того, чтобы указывать на ту же строку с общедоступным URL-адресом или (предпочтительно) на имя сервера.
Что должно выглядеть примерно так:
https://<serverPublicIP>:8000/v1/[...]
Выглядит так:
https://192.168.0.2:8000/v1/[...]
Я проверил порт (8000), он открыт и прослушивает общедоступную конечную точку, поэтому проблема не в службе, а в компоненте, который генерирует информацию. На самом деле, если я вручную копирую адрес и редактирую правильный IP, он работает извне среды, используя клиент Restful или просто веб-браузер.
Но нам нужен сгенерированный веб-перехватчик для автоматического использования общедоступного URL-адреса, чтобы наши клиенты могли совершать вызовы из внешних приложений (не только из нашей установки OpenStack/horizon) для изменения состояния стека.
Я проверил конфигурацию нагрева в /etc/heat/heat.conf и могу найти некоторые подозрительные настройки, такие как:
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
Не уверен, какой из этих параметров может использоваться для создания веб-перехватчика.
Я пытался изменить их, используя общедоступный IP-адрес и имя самого сервера, похоже, это не имеет никакого значения. Веб-перехватчики в пользовательском интерфейсе по-прежнему указывают на внутренний IP-адрес контроллера в сети управления.