Модуль 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. Варианты:
|
check_host string | Имя хоста. |
check_id string | ID для проверки службы. Если |
check_name string | Имя для проверки службы. Обязательно, если автономно, игнорируется, если является частью определения службы. |
check_node string | Имя узла. |
host string | Хост агента consul, по умолчанию localhost. По умолчанию: |
http string | |
interval string | |
notes string | Примечания для прикрепления к проверке при ее регистрации. |
port integer | Порт, на котором работает агент consul. По умолчанию: |
scheme string | Схема протокола, на которой работает агент consul. По умолчанию: |
script string | |
service_address string | Адрес для объявления того, на каком адресе будет прослушиваться служба. Это значение будет передано как параметр |
service_id string | ID для службы, должен быть уникальным для каждого узла. Если |
service_name string | Уникальное имя для службы на узле, должно быть уникальным для каждого узла, обязательно, если регистрируется служба. Может быть опущено, если регистрируется проверка уровня узла. |
service_port integer | Порт, на котором прослушивает служба. Может быть указан необязательно для регистрации службы, то есть если установлен |
state string | Зарегистрировать или отменить регистрацию службы consul, по умолчанию present. Варианты:
|
tags list / elements=string | Теги, которые будут прикреплены к регистрации службы. |
tcp string добавлено в community.general 1.3.0 | Проверки могут быть зарегистрированы с помощью TCP-порта. Это означает, что consul будет проверять, является ли успешной попытка подключения к этому порту (то есть порт в настоящее время принимает соединения). Формат — Требуется указать |
timeout string | Пользовательский тайм-аут проверки HTTP. Значение по умолчанию в consul — 10 секунд. Аналогично интервалу, это число с суффиксом |
token string | Ключ токена, идентифицирующий набор правил ACL. Может потребоваться для регистрации служб. |
ttl string | Проверки могут быть зарегистрированы с TTL вместо |
validate_certs boolean | Производить ли проверку сертификата TLS агента consul. Варианты:
|
Атрибуты
Атрибут | Поддержка | Описание |
|---|---|---|
check_mode | Поддержка: нет | Может работать в режиме |
diff_mode | Поддержка: нет | Вернёт подробности о том, что изменилось (или, возможно, нуждается в изменении в |
Примеры
- 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
Ссылки на коллекцию
© 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