Spec-Zone.ru › Ansible 2.11

openstack.cloud.loadbalancer – Добавление/удаление балансировщика нагрузки из облака OpenStack

Примечание

Этот плагин входит в коллекцию openstack.cloud (версия 1.2.1).

Для его установки используйте: ansible-galaxy collection install openstack.cloud.

Для использования в playbook укажите: openstack.cloud.loadbalancer.

  • Краткое описание
  • Требования
  • Параметры
  • Примечания
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Добавить или удалить балансировщик нагрузки из сервиса балансировки нагрузки OpenStack (Octavia). Обновление балансировщика нагрузки пока не поддерживается.

Требования

Ниже приведены требования к хосту, на котором будет выполняться этот модуль.

  • openstacksdk
  • openstacksdk >= 0.12.0
  • python >= 3.6

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
api_timeout
целое число
Сколько времени должно ждать сокетовское подключение перед таймаутом API-запросов. Если этот параметр опущен, ничего не будет передано в библиотеку requests.
auth
словарь
Словарь, содержащий информацию об авторизации, необходимую стратегии подключаемых модулей облака. Для стандартного подключаемого модуля password, он будет содержать auth_url, username, password, project_name и любую информацию о доменах (например, user_domain_name или project_domain_name), если облако их поддерживает. Для других подключаемых модулей этот параметр должен содержать параметры, необходимые для данного подключаемого модуля. Этот параметр не нужен, если задан параметр cloud или установлены переменные окружения 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 и этот параметр имеет значение true, любые общедоступные IP-адреса, связанные с VIP, будут удалены вместе с балансировщиком.
flavor
строка
Тип балансировщика нагрузки.
interface
строка
    Варианты:
  • admin
  • internal
  • public ←
Тип URL конечной точки для получения из каталога услуг.

псевдонимы: endpoint_type
listeners
список / элементы=словарь
Список слушателей, подключенных к балансировщику.
allowed_cidrs
строка
Значение по умолчанию:
[]
Список IPv4, IPv6 или смешанных CIDR, которым разрешен доступ к слушателю. По умолчанию разрешен доступ всем. При указании списка CIDR, по умолчанию доступ всем запрещён. Игнорируется в недопустимых версиях Octavia (меньше 2.12)
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
строка
    Варианты:
  • present ←
  • absent
Ресурс должен быть присутствующим или отсутствующим.
timeout
целое число
Значение по умолчанию:
180
Время ожидания модулем.
validate_certs
булево
    Варианты:
  • нет ←
  • да
Нужно ли проверять запросы API с использованием SSL.
До Ansible 2.3 по умолчанию было yes.

псевдонимы: verify
vip_address
строка
IP-адрес виртуального IP-адреса балансировщика.
vip_network
строка
Имя или ID сети для виртуального IP-адреса балансировщика. Один из параметров vip_network, vip_subnet или vip_port должен быть указан для создания.
vip_port
строка
Имя или ID порта виртуального IP-адреса балансировщика. Один из параметров vip_network, vip_subnet или vip_port должен быть указан для создания.
vip_subnet
строка
Имя или ID подсети для виртуального 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.
- openstack.cloud.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.
- openstack.cloud.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.
- openstack.cloud.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)
- openstack.cloud.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.
- openstack.cloud.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
строка
успех
Общедоступный адрес балансировщика нагрузки.

Пример:
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


Авторы

  • OpenStack Ansible SIG

© 2012–2018 Michael DeHaan
© 2018–2021 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.11/collections/openstack/cloud/loadbalancer_module.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API