Spec-Zone.ru › Ansible 2.8

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
-
    Варианты:
  • present ←
  • absent
Ресурс должен быть присутствующим или отсутствующим.
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

Spec-Zone.ru

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