Spec-Zone.ru › Ansible

Модуль community.general.consul – Добавление, изменение и удаление служб в кластере Consul

Примечание

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

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

Для установки используйте: ansible-galaxy collection install community.general. Для использования этого модуля необходимы дополнительные требования, см. Требования для получения подробной информации.

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

  • Описание
  • Требования
  • Параметры
  • Атрибуты
  • Примеры

Описание

  • Регистрирует службы и проверяет наличие агента в кластере Consul. Служба — это какой-либо процесс, выполняющийся на узле агента, который должен рекламироваться механизмом обнаружения Consul. Она может дополнительно предоставить определение проверки, периодический тест службы для уведомления кластера Consul о состоянии службы.
  • Проверки также могут быть зарегистрированы на узел, например, использование диска или процессора, и сообщать о состоянии всего узла в кластер. Проверки на уровне службы не требуют имени или идентификатора проверки, так как они выводятся Consul из имени и идентификатора службы соответственно, добавляя «service:». Проверки на уровне узла требуют check_name и необязательно check_id.
  • В настоящее время нет полного способа получения метаданных скрипта, интервала или TTL для зарегистрированной проверки. Без этих метаданных невозможно определить, представляет ли предоставленные Ansible данные изменение проверки. В результате это не пытается определить изменения и всегда будет сообщать об изменениях. В планах реализовать API-метод для предоставления этих метаданных, в этом случае будет добавлена обработка изменений.
  • Для получения дополнительной информации посетите http://consul.io.

Требования

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

  • python-consul
  • requests

Параметры

Параметр

Комментарии

ack_params_state_absent

boolean

Этот параметр больше не оказывает никакого влияния и устарел. Он будет удален в community.general 10.0.0.

Варианты:

  • false
  • true

check_host

string

Имя хоста.

check_id

string

ID для проверки службы. Если state=absent, по умолчанию check_name. Игнорируется, если является частью определения службы.

check_name

string

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

check_node

string

Имя узла.

host

string

Хост агента consul, по умолчанию localhost.

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

http

string

Проверки могут быть зарегистрированы с помощью HTTP-конечной точки. Это означает, что consul будет проверять, возвращает ли HTTP-конечная точка успешный HTTP-статус.

Требуется указать interval.

Взаимоисключающе с script, ttl и tcp.

interval

string

Интервал, с которым будет выполняться проверка службы. Это число с суффиксом s или m для обозначения единиц секунд или минут, например 15s или 1m. Если суффикс не указан, по умолчанию будет использоваться s, например 10 будет 10s.

Требуется, если указан один из параметров script, http или tcp.

notes

string

Примечания для прикрепления к проверке при ее регистрации.

port

integer

Порт, на котором работает агент consul.

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

scheme

string

Схема протокола, на которой работает агент consul.

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

script

string

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

Требуется указать interval.

Взаимоисключающе с ttl, tcp и http.

service_address

string

Адрес для объявления того, на каком адресе будет прослушиваться служба. Это значение будет передано как параметр address в метод API /v1/agent/service/register Consul, поэтому для получения дополнительной информации обратитесь к документации API Consul.

service_id

string

ID для службы, должен быть уникальным для каждого узла. Если state=absent, по умолчанию используется имя службы, если указано.

service_name

string

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

service_port

integer

Порт, на котором прослушивает служба. Может быть указан необязательно для регистрации службы, то есть если установлен service_name или service_id.

state

string

Зарегистрировать или отменить регистрацию службы consul, по умолчанию present.

Варианты:

  • "present" ← (default)
  • "absent"

tags

list / elements=string

Теги, которые будут прикреплены к регистрации службы.

tcp

string

добавлено в community.general 1.3.0

Проверки могут быть зарегистрированы с помощью TCP-порта. Это означает, что consul будет проверять, является ли успешной попытка подключения к этому порту (то есть порт в настоящее время принимает соединения). Формат — host:port, например localhost:80.

Требуется указать interval.

Взаимоисключающе с script, ttl и http.

timeout

string

Пользовательский тайм-аут проверки HTTP. Значение по умолчанию в consul — 10 секунд. Аналогично интервалу, это число с суффиксом s или m для обозначения единиц секунд или минут, например 15s или 1m. Если суффикс не указан, по умолчанию будет использоваться s, например 10 будет 10s.

token

string

Ключ токена, идентифицирующий набор правил ACL. Может потребоваться для регистрации служб.

ttl

string

Проверки могут быть зарегистрированы с TTL вместо script и interval, что означает, что служба будет проверять входящие запросы с агентом до истечения TTL. Если этого не произойдёт, проверка будет считаться неудачной. Требуется при регистрации проверки, если отсутствуют интервал и скрипт. Подобно интервалу, это число с s или m суффиксом, обозначающим секунды или минуты, например, 15s или 1m. Если суффикс не указан, по умолчанию используется s, например, 10 будет 10s.

Взаимоисключающее с script, tcp и http.

validate_certs

boolean

Производить ли проверку сертификата TLS агента consul.

Варианты:

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

Атрибуты

Атрибут

Поддержка

Описание

check_mode

Поддержка: нет

Может работать в режиме check_mode и возвращать прогноз состояния изменения без модификации целевого объекта.

diff_mode

Поддержка: нет

Вернёт подробности о том, что изменилось (или, возможно, нуждается в изменении в check_mode), когда в режиме diff.

Примеры

- name: Register nginx service with the local consul agent
  community.general.consul:
    service_name: nginx
    service_port: 80

- name: Register nginx service with curl check
  community.general.consul:
    service_name: nginx
    service_port: 80
    script: curl http://localhost
    interval: 60s

- name: register nginx with a tcp check
  community.general.consul:
    service_name: nginx
    service_port: 80
    interval: 60s
    tcp: localhost:80

- name: Register nginx with an http check
  community.general.consul:
    service_name: nginx
    service_port: 80
    interval: 60s
    http: http://localhost:80/status

- name: Register external service nginx available at 10.1.5.23
  community.general.consul:
    service_name: nginx
    service_port: 80
    service_address: 10.1.5.23

- name: Register nginx with some service tags
  community.general.consul:
    service_name: nginx
    service_port: 80
    tags:
      - prod
      - webservers

- name: Remove nginx service
  community.general.consul:
    service_name: nginx
    state: absent

- name: Register celery worker service
  community.general.consul:
    service_name: celery-worker
    tags:
      - prod
      - worker

- name: Create a node level check to test disk usage
  community.general.consul:
    check_name: Disk usage
    check_id: disk_usage
    script: /opt/disk_usage.py
    interval: 5m

- name: Register an http check against a service that's already registered
  community.general.consul:
    check_name: nginx-check2
    check_id: nginx-check2
    service_id: nginx
    interval: 60s
    http: http://localhost:80/morestatus

Авторы

  • Steve Gargan (@sgargan)

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

  • Система отслеживания ошибок
  • Репозиторий (источники)
  • Задать вопрос
  • Отправить сообщение об ошибке
  • Запросить новую функцию
  • Связь

© 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/general/consul_module.html

Spec-Zone.ru

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