Spec-Zone.ru › Ansible 2.9

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

Spec-Zone.ru

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