Spec-Zone.ru › Ansible

Модуль community.digitalocean.digital_ocean_load_balancer — Управление балансировщиками нагрузки DigitalOcean

Примечание

Этот модуль входит в коллекцию community.digitalocean (версия 1.27.0).

У вас, возможно, уже установлена эта коллекция, если вы используете пакет ansible. Она не включена в ansible-core. Чтобы проверить установку, выполните ansible-galaxy collection list.

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

Для использования в плейбуке укажите: community.digitalocean.digital_ocean_load_balancer.

Добавлена в community.digitalocean 1.10.0

  • Обзор
  • Параметры
  • Примеры
  • Возвращаемые значения

Обзор

  • Управление балансировщиками нагрузки DigitalOcean

Параметры

Параметр

Комментарии

baseurl

строка

Базовый URL API DigitalOcean.

По умолчанию: "https://api.digitalocean.com/v2"

droplet_ids

список / элементы=целое число

Массив, содержащий идентификаторы виртуальных машин (Droplets), назначенных балансировщику.

Необходим при создании балансировщиков.

Взаимоисключающий с параметром tag, можно определить либо tag, либо droplet_ids, но не оба.

enable_backend_keepalive

булево

Булево значение, указывающее, поддерживаются ли HTTP-соединения keep-alive с целевыми виртуальными машинами (Droplets).

Варианты:

  • false ← (по умолчанию)
  • true

enable_proxy_protocol

булево

Булево значение, указывающее, используется ли PROXY Protocol.

Варианты:

  • false ← (по умолчанию)
  • true

forwarding_rules

список / элементы=словарь

Массив объектов, определяющих правила перенаправления для балансировщика.

Необходим при создании балансировщиков.

По умолчанию: [{"certificate_id": "", "entry_port": 8080, "entry_protocol": "http", "target_port": 8080, "target_protocol": "http", "tls_passthrough": false}]

certificate_id

строка

Идентификатор сертификата

По умолчанию: ""

entry_port

целое число

Порт входа

По умолчанию: 8080

entry_protocol

строка

Протокол входа

По умолчанию: "http"

target_port

целое число

Целевой порт

По умолчанию: 8080

target_protocol

строка

Целевой протокол

По умолчанию: "http"

tls_passthrough

булево

TLS проброс

Варианты:

  • false ← (по умолчанию)
  • true

health_check

словарь

Объект, определяющий настройки проверки состояния балансировщика.

По умолчанию: {"check_interval_seconds": 10, "healthy_threshold": 5, "path": "/", "port": 80, "protocol": "http", "response_timeout_seconds": 5, "unhealthy_threshold": 3}

check_interval_seconds

целое число

Интервал проверки (секунды)

По умолчанию: 10

healthy_threshold

целое число

Пороговое значение работоспособности

По умолчанию: 5

path

строка

Путь

По умолчанию: "/"

port

целое число

Порт

По умолчанию: 80

protocol

строка

Протокол

По умолчанию: "http"

response_timeout_seconds

целое число

Время ожидания ответа (секунды)

По умолчанию: 5

unhealthy_threshold

целое число

Пороговое значение неработоспособности

По умолчанию: 3

name

строка / обязательно

Наименование балансировщика (для удобства чтения).

Обязательно и должно быть уникальным (текущая документация API не обновлена для этого параметра).

oauth_token

aliases: api_token

string

Токен DigitalOcean OAuth.

Существует несколько других переменных среды, которые можно использовать для предоставления этого значения.

Например, - DO_API_TOKEN, DO_API_KEY, DO_OAUTH_TOKEN и OAUTH_TOKEN.

project_name

aliases: project

string

Проект, которому нужно назначить ресурс (название проекта, а не UUID).

По умолчанию используется по умолчанию проект учётной записи (пустая строка).

В настоящее время поддерживается только при создании.

По умолчанию: ""

redirect_http_to_https

boolean

Булево значение, указывающее, будут ли запросы HTTP к балансировщику нагрузки на порту 80 перенаправлены на HTTPS на порту 443.

Варианты:

  • false ← (по умолчанию)
  • true

region

aliases: region_id

string

Идентификатор в виде сокращения (slug) региона, где ресурс будет доступен в первую очередь.

size

string

Размер балансировщика нагрузки.

Доступные размеры lb-small, lb-medium, или lb-large.

Вы можете изменить размер балансировщиков нагрузки после их создания не чаще, чем раз в час.

Вы не можете изменить размер балансировщика нагрузки в течение первого часа после его создания.

Это поле заменено полем size_unit для всех регионов, кроме ams2, nyc2, и sfo1.

Каждый доступный размер балансировщика нагрузки теперь соответствует определённому количеству узлов.

Формула: lb-small = 1 узел, lb-medium = 3 узла, lb-large = 6 узлов.

Варианты:

  • "lb-small" ← (по умолчанию)
  • "lb-medium"
  • "lb-large"

size_unit

integer

Количество узлов, содержащихся в балансировщике нагрузки.

Каждый дополнительный узел увеличивает способность балансировщика обрабатывать больше подключений.

Балансировщики нагрузки могут масштабироваться вверх или вниз, и вы можете изменить количество узлов после создания не чаще, чем раз в час.

Это поле в настоящее время недоступно в регионах ams2, nyc2, или sfo1.

Используйте поле size для масштабирования балансировщиков нагрузки, находящихся в этих регионах.

Значение должно быть в диапазоне от 1 до 100.

По умолчанию: 1

state

string

Обычное, present для создания, absent для удаления

Варианты:

  • "present" ← (по умолчанию)
  • "absent"

sticky_sessions

dictionary

Объект, определяющий настройки сессий «stick» для балансировщика нагрузки.

По умолчанию: {"type": "none"}

type

string

Тип

По умолчанию: "none"

tag

string

Тег, связанный с дроплетами, которые вы хотите динамически назначить балансировщику нагрузки.

Требуется при создании балансировщиков нагрузки.

Взаимоисключительно с droplet_ids, вы можете определить либо тег, либо droplet_ids, но не оба.

timeout

integer

Таймаут в секундах, используемый для опроса API DigitalOcean.

По умолчанию: 30

validate_certs

boolean

Если установлено в no, сертификаты SSL не будут проверены.

Это следует устанавливать только в no на сайтах, контролируемых лично, и использующих самозаверенные сертификаты.

Варианты:

  • false
  • true ← (по умолчанию)

vpc_uuid

string

Строка, определяющая UUID VPC, к которому назначен балансировщик нагрузки.

Если не указано, используется по умолчанию VPC в регионе.

wait

boolean

Ожидать, пока балансировщик нагрузки будет запущен перед возвратом.

Варианты:

  • false
  • true ← (по умолчанию)

wait_timeout

integer

Сколько времени ждать, прежде чем ожидание прекратится, в секундах, при создании балансировщика нагрузки.

По умолчанию: 600

Примеры

- name: Create a Load Balancer
  community.digitalocean.digital_ocean_load_balancer:
    state: present
    name: test-loadbalancer-1
    droplet_ids:
      - 12345678
    region: nyc1
    forwarding_rules:
      - entry_protocol: http
        entry_port: 8080
        target_protocol: http
        target_port: 8080
        certificate_id: ""
        tls_passthrough: false

- name: Create a Load Balancer (and assign to Project "test")
  community.digitalocean.digital_ocean_load_balancer:
    state: present
    name: test-loadbalancer-1
    droplet_ids:
      - 12345678
    region: nyc1
    forwarding_rules:
      - entry_protocol: http
        entry_port: 8080
        target_protocol: http
        target_port: 8080
        certificate_id: ""
        tls_passthrough: false
    project: test

- name: Create a Load Balancer and associate it with a tag
  community.digitalocean.digital_ocean_load_balancer:
    state: present
    name: test-loadbalancer-1
    tag: test-tag
    region: tor1

Значения возврата

Общие значения возврата документированы здесь, следующие — поля, уникальные для данного модуля:

Ключ

Описание

assign_status

строка

Статус назначения (ok, not_found, assigned, already_assigned, service_down)

Возвращаемое значение: changed

Пример: "assigned"

data

словарь

Балансировщик нагрузки DigitalOcean

Возвращаемое значение: changed

Пример: {"load_balancer": {"algorithm": "round_robin", "created_at": "2021-08-22T14:23:41Z", "droplet_ids": [261172461], "enable_backend_keepalive": false, "enable_proxy_protocol": false, "forwarding_rules": [{"certificate_id": "", "entry_port": 8080, "entry_protocol": "http", "target_port": 8080, "target_protocol": "http", "tls_passthrough": false}], "health_check": {"check_interval_seconds": 10, "healthy_threshold": 5, "path": "/", "port": 80, "protocol": "http", "response_timeout_seconds": 5, "unhealthy_threshold": 3}, "id": "b4fdb507-70e8-4325-a89e-d02271b93618", "ip": "159.203.150.113", "name": "test-loadbalancer-1", "redirect_http_to_https": false, "region": {"available": true, "features": ["backups", "ipv6", "metadata", "install_agent", "storage", "image_transfer"], "name": "New York 3", "sizes": ["s-1vcpu-1gb", "s-1vcpu-1gb-amd", "s-1vcpu-1gb-intel", "s-1vcpu-2gb", "s-1vcpu-2gb-amd", "s-1vcpu-2gb-intel", "s-2vcpu-2gb", "s-2vcpu-2gb-amd", "s-2vcpu-2gb-intel", "s-2vcpu-4gb", "s-2vcpu-4gb-amd", "s-2vcpu-4gb-intel", "s-4vcpu-8gb", "c-2", "c2-2vcpu-4gb", "s-4vcpu-8gb-amd", "s-4vcpu-8gb-intel", "g-2vcpu-8gb", "gd-2vcpu-8gb", "s-8vcpu-16gb", "m-2vcpu-16gb", "c-4", "c2-4vcpu-8gb", "s-8vcpu-16gb-amd", "s-8vcpu-16gb-intel", "m3-2vcpu-16gb", "g-4vcpu-16gb", "so-2vcpu-16gb", "m6-2vcpu-16gb", "gd-4vcpu-16gb", "so1_5-2vcpu-16gb", "m-4vcpu-32gb", "c-8", "c2-8vcpu-16gb", "m3-4vcpu-32gb", "g-8vcpu-32gb", "so-4vcpu-32gb", "m6-4vcpu-32gb", "gd-8vcpu-32gb", "so1_5-4vcpu-32gb", "m-8vcpu-64gb", "c-16", "c2-16vcpu-32gb", "m3-8vcpu-64gb", "g-16vcpu-64gb", "so-8vcpu-64gb", "m6-8vcpu-64gb", "gd-16vcpu-64gb", "so1_5-8vcpu-64gb", "m-16vcpu-128gb", "c-32", "c2-32vcpu-64gb", "m3-16vcpu-128gb", "m-24vcpu-192gb", "g-32vcpu-128gb", "so-16vcpu-128gb", "m6-16vcpu-128gb", "gd-32vcpu-128gb", "m3-24vcpu-192gb", "g-40vcpu-160gb", "so1_5-16vcpu-128gb", "m-32vcpu-256gb", "gd-40vcpu-160gb", "so-24vcpu-192gb", "m6-24vcpu-192gb", "m3-32vcpu-256gb", "so1_5-24vcpu-192gb", "m6-32vcpu-256gb"], "slug": "nyc3"}, "size": "lb-small", "status": "active", "sticky_sessions": {"type": "none"}, "tag": "", "vpc_uuid": "b8fd9a58-d93d-4329-b54a-78a397d64855"}}

msg

строка

Сообщение об ошибке или информационное сообщение, возникшее во время выполнения

Возвращаемое значение: changed

Пример: "No project named test2 found"

resources

словарь

Ресурсы, участвующие в назначении проекта

Возвращаемое значение: changed

Пример: {"assigned_at": "2021-10-25T17:39:38Z", "links": {"self": "https://api.digitalocean.com/v2/load_balancers/17d171d0-8a8b-4251-9c18-c96cc515d36d"}, "status": "assigned", "urn": "do:loadbalancer:17d171d0-8a8b-4251-9c18-c96cc515d36d"}

Авторы

  • Mark Mercado (@mamercad)

Ссылки на коллекцию

  • Система отслеживания проблем
  • Репозиторий (источники)

© 2012–2018 Michael DeHaan
© 2018–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/digitalocean/digital_ocean_load_balancer_module.html

Spec-Zone.ru

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