cs_loadbalancer_rule - Управляет правилами балансировки нагрузки в облаках на основе Apache CloudStack.
Новое в версии 2.0.
Описание
- Добавление, обновление и удаление правил балансировки нагрузки.
Требования
Ниже перечислены требования, необходимые на хосте, на котором выполняется данный модуль.
- python >= 2.6
- cs >= 0.6.10
Параметры
| Параметр | Варианты/Значения по умолчанию | Комментарии |
|---|---|---|
| account | Аккаунт, к которому относится правило. | |
| algorithm |
| Алгоритм балансировки нагрузки Требуется при использовании state=present. |
| api_http_method |
| HTTP-метод, используемый для запроса к API-точке. Если не указано, используется переменная окружения CLOUDSTACK_METHOD. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию - get, если не указано. |
| api_key | Ключ API CloudStack API. Если не указано, используется переменная окружения CLOUDSTACK_KEY. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_region | Значение по умолчанию: "cloudstack" | Имя раздела ini в файле cloustack.ini. Если не указано, используется переменная окружения CLOUDSTACK_REGION. |
| api_secret | Секретный ключ API CloudStack API. Если не задано, используется переменная окружения CLOUDSTACK_SECRET. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| api_timeout | Таймаут HTTP в секундах. Если не указано, используется переменная окружения CLOUDSTACK_TIMEOUT. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. Значение по умолчанию - 10 секунд, если не указано. | |
| api_url | URL CloudStack API, например, https://cloud.example.com/client/api. Если не указано, используется переменная окружения CLOUDSTACK_ENDPOINT. В качестве последнего варианта используется значение из файла конфигурации ini, см. также примечания. | |
| cidr | CIDR (полное обозначение), который будет использоваться для правила брандмауэра, если это необходимо. | |
| description | Описание правила балансировки нагрузки. | |
| domain | Домен, к которому относится правило. | |
| ip_address обязательно | Общедоступный IP-адрес, откуда будет осуществляться балансировка сетевого трафика. Псевдонимы: public_ip | |
| name обязательно | Название правила балансировки нагрузки. | |
| open_firewall bool |
| Указывает, следует ли создавать правило брандмауэра для общедоступного порта при создании нового правила. Для управления правилами брандмауэра используйте модуль cs_firewall. |
| private_port | Приватный порт приватного IP-адреса/виртуальной машины, на который будет направляться сетевой трафик. Требуется при использовании state=present. Не может быть изменён после создания правила из-за ограничений API. | |
| project | Имя проекта, к которому относится IP-адрес балансировщика. | |
| protocol | Протокол, который должен использоваться в балансировщике. | |
| public_port обязательно | Общедоступный порт, откуда будет осуществляться балансировка сетевого трафика. Требуется при использовании state=present. Не может быть изменён после создания правила из-за ограничений API. | |
| state |
| Состояние правила. |
| zone | Имя зоны, в которой должно быть создано правило. Если не задано, используется зона по умолчанию. |
Примечания
Примечание
- Ansible использует метод конфигурации библиотеки
cs, если учётные данные не предоставлены аргументамиapi_url,api_key,api_secret. Конфигурация считывается из нескольких мест в следующем порядке.CLOUDSTACK_ENDPOINT,CLOUDSTACK_KEY,CLOUDSTACK_SECRETиCLOUDSTACK_METHOD. Переменные средыCLOUDSTACK_TIMEOUT. Переменная средыCLOUDSTACK_CONFIG, указывающая на файл.ini. Файлcloudstack.iniв текущей рабочей директории. Файл.cloudstack.iniв домашней директории пользователя. Допускается указание нескольких учётных данных и конечных точек с помощью разделов ini вcloudstack.ini. Используйте аргументapi_regionдля выбора имени раздела, по умолчанию используетсяcloudstack. Дополнительную информацию см. на https://github.com/exoscale/cs. - Подробное руководство по модулям cloudstack можно найти в Руководстве по облаку CloudStack.
- Данный модуль поддерживает режим проверки.
Примеры
# Create a load balancer rule
- local_action:
module: cs_loadbalancer_rule
name: balance_http
public_ip: 1.2.3.4
algorithm: leastconn
public_port: 80
private_port: 8080
# update algorithm of an existing load balancer rule
- local_action:
module: cs_loadbalancer_rule
name: balance_http
public_ip: 1.2.3.4
algorithm: roundrobin
public_port: 80
private_port: 8080
# Delete a load balancer rule
- local_action:
module: cs_loadbalancer_rule
name: balance_http
public_ip: 1.2.3.4
state: absent
Возвращаемые значения
Общие возвращаемые значения описаны в здесь, ниже перечислены поля, уникальные для данного модуля:
| Ключ | Возвращаемое значение | Описание |
|---|---|---|
| account строка | успех | Учетная запись, к которой относится правило. Пример: example account |
| algorithm строка | успех | Используемый алгоритм балансировки нагрузки. Пример: source |
| cidr строка | успех | CIDR для перенаправления трафика. |
| description строка | успех | Описание правила. Пример: правило балансировки нагрузки HTTP |
| domain строка | успех | Домен, к которому относится правило. Пример: example domain |
| id строка | успех | UUID правила. Пример: a6f7a5fc-43f8-11e5-a151-feff819cdc9f |
| name строка | успех | Имя правила. Пример: http-lb |
| private_port строка | успех | Приватный IP-адрес. Пример: 80 |
| project строка | успех | Имя проекта, к которому относится правило. Пример: Production |
| protocol строка | успех | Протокол правила. Пример: tcp |
| public_ip строка | успех | Публичный IP-адрес. Пример: 1.2.3.4 |
| public_port строка | успех | Публичный порт. Пример: 80 |
| state строка | успех | Состояние правила. Пример: Add |
| tags словарь | успех | Список тегов ресурса, связанных с правилом. Пример: [ { "key": "foo", "value": "bar" } ] |
| zone строка | успех | Имя зоны, к которой относится правило. Пример: ch-gva-2 |
Статус
Этот модуль помечен как stableinterface, что означает, что разработчики этого модуля гарантируют, что не будут вноситься несовместимые с предыдущими версиями изменения в интерфейс.
Техническое обслуживание
Этот модуль помечен как community, что означает, что он поддерживается сообществом Ansible. Дополнительную информацию см. в разделе Техническое обслуживание и поддержка модулей.
Список других модулей, также поддерживаемых сообществом Ansible, см. в разделе здесь.
Автор
- Darren Worrall (@dazworrall)
- René Moser (@resmo)
Подсказка
Если вы обнаружите какие-либо проблемы в этом документе, вы можете отредактировать этот документ, чтобы улучшить его.
© 2012–2018 Michael DeHaan
© 2018–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.6/modules/cs_loadbalancer_rule_module.html