os_loadbalancer – Добавление/удаление балансировщика нагрузки из OpenStack Cloud
Новая в версии 2.7.
Описание
- Добавление или удаление балансировщика нагрузки из службы балансировки нагрузки OpenStack (Octavia). Обновление балансировщика на данный момент не поддерживается.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется этот модуль.
- openstacksdk
- openstacksdk >= 0.12.0
- 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 строка |
| Тип URL конечной точки для извлечения из каталога сервисов. псевдонимы: endpoint_type | |||
| listeners - | Список слушателей, подключенных к балансировщику нагрузки. | ||||
| name - | Имя или идентификатор слушателя. | ||||
| pool - | Пул, подключенный к слушателю. | ||||
| lb_algorithm - | По умолчанию: "ROUND_ROBIN" | Алгоритм балансировки нагрузки для пула. | |||
| members - | Список членов, добавленных в пул. | ||||
| address - | IP-адрес члена. | ||||
| name - | Имя или идентификатор члена. | ||||
| protocol_port - | По умолчанию: 80 | Номер порта протокола для члена. | |||
| subnet - | Имя или идентификатор подсети, из которой доступен член службы. | ||||
| name - | Имя или идентификатор пула. | ||||
| protocol - | По умолчанию: "HTTP" | Протокол для пула. | |||
| protocol - | По умолчанию: "HTTP" | Протокол для слушателя. | |||
| protocol_port - | По умолчанию: 80 | Номер порта протокола для слушателя. | |||
| name - / обязательно | Имя, которое должно быть присвоено балансировщику нагрузки | ||||
| public_ip_address - | Публичный IP-адрес, связанный с VIP. | ||||
| public_network - | Имя или идентификатор внешней сети 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. [community]
Авторы
- 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.9/modules/os_loadbalancer_module.html