Spec-Zone.ru › Ansible

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

Примечание

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

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

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

Для использования в playbook, укажите: 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.

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

id

string

Указывает уникальный ID для этого сервиса. Он должен быть уникальным для каждого агента. По умолчанию используется параметр 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) пропустит атрибуты работы.

Вернёт детали того, что изменилось (или, возможно, нужно изменить в 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

строка

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

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

Пример: "update"

service

словарь

Сервис, как возвращённый API Consul HTTP.

Возвращаемое значение: всегда

Пример: {"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–2024 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/latest/collections/community/general/consul_agent_service_module.html

Spec-Zone.ru

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