os_loadbalancer – Добавление/удаление балансировщика нагрузки из OpenStack Cloud
Новое в версии 2.7.
Описание
- Добавление или удаление балансировщика нагрузки из сервиса OpenStack load-balancer (Octavia). Обновление балансировщика на данный момент не поддерживается.
Требования
Ниже перечислены требования к хосту, на котором будет выполняться этот модуль.
- openstacksdk
- python >= 2.7
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии | |||
|---|---|---|---|---|---|
| api_timeout целое число | Сколько времени должно ждать подключение сокета перед истечением времени ожидания для вызовов API. Если это значение опущено, ничего не будет передано в библиотеку запросов. | ||||
| auth словарь | Словарь, содержащий информацию об авторизации, необходимую стратегии подключаемого модуля авторизации облака. Для стандартного подключаемого модуля password он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, os_user_domain_name или os_project_domain_name), если облако их поддерживает. Для других подключаемых модулей этот параметр должен содержать любые параметры, необходимые данному подключаемому модулю. Этот параметр не нужен, если указано имя облака или присутствуют переменные окружения OpenStack OS_*. | ||||
| auth_type строка | Имя используемого подключаемого модуля авторизации. Если облако использует что-то кроме парольной аутентификации, имя подключаемого модуля должно быть указано здесь, а содержимое параметра auth должно быть соответствующим образом обновлено. | ||||
| auto_public_ip логическое значение |
| Автоматически выделяет публичный IP-адрес и связывает его с VIP. | |||
| availability_zone - | Игнорируется. Присутствует для обратной совместимости | ||||
| ca_cert строка | Путь к набору сертификатов CA, который может быть использован для проверки запросов API SSL. псевдонимы: cacert | ||||
| client_cert строка | Путь к клиенту сертификату, используемому в рамках транзакции SSL. псевдонимы: cert | ||||
| client_key строка | Путь к ключу клиента, используемому в рамках транзакции SSL. псевдонимы: key | ||||
| cloud сырые данные | Используемое облако или конфигурация облака. Если cloud — строка, она ссылается на конфигурацию облака с именем, определённую в файле OpenStack clouds.yaml. Предоставляет значения по умолчанию для auth и auth_type. Этот параметр не нужен, если указан параметр auth или присутствуют переменные окружения OpenStack OS_*. Если cloud — словарь, он содержит полную конфигурацию облака, аналогично тому, как она определяется в секции clouds.yaml. | ||||
| delete_public_ip логическое значение |
| Когда state=absent и этот параметр имеет значение «истина», любой публичный IP-адрес, связанный с VIP, будет удалён вместе с балансировщиком нагрузки. | |||
| interface строка добавлено в 2.3 |
| Тип URL конечной точки для извлечения из каталога служб. псевдонимы: endpoint_type | |||
| listeners - | Список слушателей, подключенных к балансировщику нагрузки. | ||||
| name - | Имя или ID слушателя. | ||||
| pool - | Пул, подключенный к слушателю. | ||||
| lb_algorithm - | По умолчанию: "ROUND_ROBIN" | Алгоритм балансировки нагрузки для пула. | |||
| members - | Список членов, добавленных в пул. | ||||
| address - | IP-адрес члена. | ||||
| name - | Имя или ID члена. | ||||
| protocol_port - | По умолчанию: 80 | Номер порта протокола для члена. | |||
| subnet - | Имя или ID подсети, из которой доступна служба члена. | ||||
| name - | Имя или ID пула. | ||||
| protocol - | По умолчанию: "HTTP" | Протокол для пула. | |||
| protocol - | По умолчанию: "HTTP" | Протокол для слушателя. | |||
| protocol_port - | По умолчанию: 80 | Номер порта протокола для слушателя. | |||
| name - / обязательно | Имя, которое необходимо задать балансировщику нагрузки | ||||
| public_ip_address - | Публичный IP-адрес, связанный с VIP. | ||||
| public_network - | Имя или ID внешней сети Neutron. | ||||
| region_name строка | Имя региона. | ||||
| state - |
| Ресурс должен быть присутствующим или отсутствующим. | |||
| timeout целое число | По умолчанию: 180 | Время ожидания модуля. | |||
| validate_certs логическое значение |
| Необходимо ли проверять запросы API SSL. До Ansible 2.3 это значение по умолчанию было yes.псевдонимы: verify | |||
| vip_address - | IP-адрес виртуального IP-адреса балансировщика нагрузки. | ||||
| vip_network - | Имя или идентификатор сети для виртуального IP-адреса балансировщика нагрузки. Для создания необходимо указать один из параметров: vip_network, vip_subnet или vip_port. | ||||
| vip_port - | Имя или идентификатор порта виртуального IP-адреса балансировщика нагрузки. Для создания необходимо указать один из параметров: vip_network, vip_subnet или vip_port. | ||||
| vip_subnet - | Имя или идентификатор подсети для виртуального IP-адреса балансировщика нагрузки. Для создания необходимо указать один из параметров: vip_network, vip_subnet или vip_port. | ||||
| wait логическое значение |
| Нужно ли модулю ждать создания или удаления балансировщика нагрузки. | |||
Примечания
Примечание
- Можно использовать стандартные переменные среды OpenStack, такие как
OS_USERNAME, вместо явного указания значений. - Информация об авторизации обрабатывается модулем openstacksdk, что означает, что значения могут быть взяты из файла конфигурации yaml в /etc/ansible/openstack.yaml, /etc/openstack/clouds.yaml или ~/.config/openstack/clouds.yaml, затем из стандартных переменных среды, а затем, наконец, из явных параметров в задачах. Более подробную информацию можно найти на сайте https://docs.openstack.org/openstacksdk/
Примеры
# Create a load balancer by specifying the VIP subnet.
- os_loadbalancer:
auth:
auth_url: https://identity.example.com
username: admin
password: passme
project_name: admin
state: present
name: my_lb
vip_subnet: my_subnet
timeout: 150
# Create a load balancer by specifying the VIP network and the IP address.
- os_loadbalancer:
auth:
auth_url: https://identity.example.com
username: admin
password: passme
project_name: admin
state: present
name: my_lb
vip_network: my_network
vip_address: 192.168.0.11
# Create a load balancer together with its sub-resources in the 'all in one'
# way. A public IP address is also allocated to the load balancer VIP.
- os_loadbalancer:
auth:
auth_url: https://identity.example.com
username: admin
password: passme
project_name: admin
name: lingxian_test
state: present
vip_subnet: kong_subnet
auto_public_ip: yes
public_network: public
listeners:
- name: lingxian_80
protocol: TCP
protocol_port: 80
pool:
name: lingxian_80_pool
protocol: TCP
members:
- name: mywebserver1
address: 192.168.2.81
protocol_port: 80
subnet: webserver_subnet
- name: lingxian_8080
protocol: TCP
protocol_port: 8080
pool:
name: lingxian_8080-pool
protocol: TCP
members:
- name: mywebserver2
address: 192.168.2.82
protocol_port: 8080
wait: yes
timeout: 600
# Delete a load balancer(and all its related resources)
- os_loadbalancer:
auth:
auth_url: https://identity.example.com
username: admin
password: passme
project_name: admin
state: absent
name: my_lb
# Delete a load balancer(and all its related resources) together with the
# public IP address(if any) attached to it.
- os_loadbalancer:
auth:
auth_url: https://identity.example.com
username: admin
password: passme
project_name: admin
state: absent
name: my_lb
delete_public_ip: yes
Значения возврата
Общие значения возврата документированы здесь, следующие являются полями, уникальными для данного модуля:
| Ключ | Возвращаемое значение | Описание | |
|---|---|---|---|
| id строка | При успехе, когда state=present
| UUID балансировщика нагрузки. Пример: 39007a7e-ee4f-4d13-8283-b4da2e037c69 | |
| loadbalancer сложное | При успехе, когда state=present
| Словарь, описывающий балансировщик нагрузки. | |
| id строка | Уникальный UUID. Пример: 39007a7e-ee4f-4d13-8283-b4da2e037c69 | ||
| is_admin_state_up булево | Административное состояние балансировщика нагрузки. Пример: True | ||
| listeners список | Идентификаторы связанных слушателей, если таковые имеются. Пример: [{'id': '7aa1b380-beec-459c-a8a7-3a4fb6d30645'}, {'id': '692d06b8-c4f8-4bdb-b2a3-5a263cc23ba6'}] | ||
| name строка | Имя, присвоенное балансировщику нагрузки. Пример: lingxian_test | ||
| operating_status строка | Рабочее состояние балансировщика нагрузки. Пример: ONLINE | ||
| pools список | Идентификаторы связанных пулов, если таковые имеются. Пример: [{'id': '27b78d92-cee1-4646-b831-e3b90a7fa714'}, {'id': 'befc1fb5-1992-4697-bdb9-eee330989344'}] | ||
| provisioning_status строка | Статус подготовки балансировщика нагрузки. Пример: ACTIVE | ||
| public_vip_address строка | Общедоступный адрес VIP балансировщика нагрузки. Пример: 10.17.8.254 | ||
| vip_address строка | Виртуальный IP-адрес балансировщика нагрузки. Пример: 192.168.2.88 | ||
| vip_network_id строка | Идентификатор сети, к которой принадлежит виртуальный порт IP балансировщика нагрузки. Пример: f171db43-56fd-41cf-82d7-4e91d741762e | ||
| vip_port_id строка | Идентификатор виртуального порта IP балансировщика нагрузки. Пример: 2061395c-1c01-47ab-b925-c91b93df9c1d | ||
| vip_subnet_id строка | Идентификатор подсети, к которой принадлежит виртуальный порт IP балансировщика нагрузки. Пример: c53e3c70-9d62-409a-9f71-db148e7aa853 | ||
Статус
- Этот модуль не гарантирует обратной совместимости интерфейса. [превью]
- Этот модуль поддерживается сообществом Ansible. [сообщество]
Авторы
- Lingxian Kong (@lingxiankong)
Подсказка
Если вы заметите какие-либо проблемы в этой документации, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.8/modules/os_loadbalancer_module.html