Spec-Zone.ru › Ansible

модуль community.general.consul_agent_service — добавление, изменение и удаление служб в кластере Consul

Примечание

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

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

Чтобы установить её, используйте: ansible-galaxy collection install community.general.

Чтобы использовать её в плейбуке, укажите: community.general.consul_agent_service.

Новое в community.general 9.1.0

  • Краткое описание
  • Параметры
  • Атрибуты
  • Примеры
  • Возвращаемые значения

Краткое описание

  • Позволяет добавлять, изменять и удалять службы в кластере Consul с помощью агента.
  • В настоящее время нет планов реализовать создание служб и проверок одновременно. Это связано с тем, что API Consul не предоставляет проверки для службы, а сами проверки не соответствуют параметрам модуля. Поэтому этот модуль позволяет создать только службу без проверок.

Параметры

Параметр

Комментарии

address

string

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

ca_path

string

Пакет сертификатов CA для HTTPS-подключений.

enable_tag_override

boolean

Указывает, следует ли отключить функцию антиэнтропии для тегов этой службы. Если для EnableTagOverride задано значение true, внешние агенты могут обновлять эту службу в каталоге и изменять теги.

Варианты:

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

host

string

Узел агента Consul.

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

id

string

Указывает уникальный идентификатор этой службы. Он должен быть уникальным для каждого агента. Если параметр не задан, используется значение параметра name. Если state=absent, по умолчанию используется имя службы, если оно указано.

meta

dictionary

Необязательные метаданные для фильтрации. В ключах разрешены символы A-Z, a-z, 0-9, _, -. Недопустимые символы заменяются символами подчёркивания.

name

string

Уникальное имя службы на узле. Оно должно быть уникальным для каждого узла и обязательно при регистрации службы.

port

integer

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

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

scheme

string

Схема протокола, по которой работает агент Consul. По умолчанию используется http; для защищённых подключений можно задать https.

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

service_port

integer

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

state

string

Должна ли служба присутствовать или отсутствовать.

Варианты:

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

tags

list / elements=string

Теги, назначаемые при регистрации службы.

token

string

Токен для авторизации.

validate_certs

boolean

Проверять ли TLS-сертификат агента Consul.

Варианты:

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

weights

dictionary

Задаёт весовые коэффициенты службы.

По умолчанию: {"passing": 1, "warning": 1}

passing

integer

Вес для статуса «успешно».

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

warning

integer

Вес для предупреждения.

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

Атрибуты

Атрибут

Поддержка

Описание

action_group

Группа действий: community.general.consul

Используйте group/community.general.consul в module_defaults, чтобы задать значения по умолчанию для этого модуля.

check_mode

Поддержка: полная

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

diff_mode

Поддержка: частичная

В режиме проверки в diff отсутствуют эксплуатационные атрибуты.

В режиме diff возвращает сведения об изменениях (или возможных изменениях в check_mode).

Примеры

- name: Register nginx service with the local Consul agent
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: nginx
    service_port: 80

- name: Register nginx with a tcp check
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: nginx
    service_port: 80

- name: Register nginx with an http check
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: nginx
    service_port: 80

- name: Register external service nginx available at 10.1.5.23
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: nginx
    service_port: 80
    address: 10.1.5.23

- name: Register nginx with some service tags
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: nginx
    service_port: 80
    tags:
      - prod
      - webservers

- name: Register nginx with some service meta
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: nginx
    service_port: 80
    meta:
      nginx_version: 1.25.3

- name: Remove nginx service
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    service_id: nginx
    state: absent

- name: Register celery worker service
  community.general.consul_agent_service:
    host: consul1.example.com
    token: some_management_acl
    name: celery-worker
    tags:
      - prod
      - worker

Возвращаемые значения

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

Ключ

Описание

operation

string

Выполненная операция.

Возвращается: changed

Пример: "update"

service

dictionary

Служба в формате, возвращаемом HTTP API Consul.

Возвращается: всегда

Пример: {"Address": "localhost", "ContentHash": "61a245cd985261ac", "Datacenter": "dc1", "EnableTagOverride": false, "ID": "nginx", "Meta": [{"nginx_version": "1.23.3"}], "Port": 80, "Service": "nginx", "Tags": ["http"], "Weights": {"Passing": 1, "Warning": 1}}

Авторы

  • Michael Ilg (@Ilgmi)

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

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

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

Spec-Zone.ru

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