Мы развертываем OpenStack Kilo с использованием Mirantis Fuel 7.0, и до сих пор система работает. Мы добавили компонент ceilometer и высокую температуру, чтобы наши пользователи могли автоматически масштабировать или уменьшать масштабирование некоторых серверов LoadBalancer, которые мы используем для наших стеков.OpenStack Heat WebHooks для повышения/понижения точки на внутреннем (хранилище) IP
Автоматическое масштабирование и масштабирование, похоже, работают хорошо. Единственная проблема заключается в том, когда мы переходим на проверку ресурсов на вкладке «Оркестрация», созданный WebHook указывает на URL-адрес управления (192.168.0.2:8000) вместо того, чтобы указывать на ту же строку с общедоступным URL-адресом или (предпочтительно) с именем сервера.
Что должно выглядеть примерно так:
https://<serverPublicIP>:8000/v1/[...]
выглядит так:
https://192.168.0.2:8000/v1/[...]
Я проверил порт (8000), и он открыт и прослушивает публичной конечной точки, так проблема связана не с сервисом, а с компонентом, который генерирует информацию. Фактически, если я вручную скопирую адрес и отредактирую правильный IP-адрес, он работает извне среды, используя Restful client или просто веб-браузер.
Но нам нужно, чтобы созданный webhook автоматически использовал общедоступный 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
Не знаю, что один из этих параметров может быть один он используется для генерации webhook.
Я попытался изменить их, используя общедоступный IP-адрес и имя самого сервера, похоже, не имеет никакого значения. Веб-узлы в пользовательском интерфейсе по-прежнему указывают на внутренний IP-адрес контроллера в сети управления.
Я пробовал именно это, перезапустив тепловые службы (все на всякий случай) и создав новый стек из локального файла. У нас возникают проблемы с тем, что конфигурации не применяются, когда они должны быть (и мы модифицировали довольно много .conf, включая тепло), поэтому на этот раз я попробую снова перезагрузить весь узел контроллера. Благодаря! – darent