Назначение плавающего IP-адреса для балансировщика нагрузки в тепловом шаблоне
Кто-нибудь знает, как связать плавающий IP-адрес с балансировщиком нагрузки в тепловом шаблоне? Я могу создать балансировщик нагрузки для экземпляра (или нескольких экземпляров, но начинающих с малого) в жару; и может связывать плавающий IP-адрес с балансировщиком нагрузки в Horizon, но я не могу понять, как это сделать с помощью тепла.
2 ответа
Я просто должен был найти ответ на этот вопрос сам.
Оказывается, что vip
атрибут OS::Neutron::Pool
Ресурс содержит еще несколько ключей, чем документировано здесь. В частности, vip
атрибут содержит port_id
, который является адресом нейтронного порта, связанного с этим пулом.
Поскольку у нас есть идентификатор порта Neutron, мы можем использовать его для привязки плавающего IP-адреса следующим образом:
type: "OS::Neutron::Pool"
properties:
protocol: HTTP
monitors:
- {get_resource: monitor}
subnet_id: {get_resource: fixed_subnet}
lb_method: ROUND_ROBIN
vip:
protocol_port: 80
lb_floating:
type: "OS::Neutron::FloatingIP"
properties:
floating_network_id:
get_param: external_network_id
port_id:
get_attr: [pool, vip, port_id]
Тот get_attr
звонок становится port_id
атрибут vip
атрибут pool
ресурс.
У меня был тот же вопрос в отношении Октавии, а не Нейтрона, однако ответ Ларска указал мне правильное направление.
The
OS::Octavia::LoadBalancer
объект имеет
vip_port_id
атрибут, к которому можно получить доступ таким же образом:
port_id:
get_attr: [lb1, vip_port_id]