Spec-Zone.ru › Ansible 2.5

consul - Добавление, изменение и удаление служб в кластере consul.

Новая версия 2.0.

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

Обзор

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

Требования

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

  • python >= 2.6
  • python-consul
  • requests

Параметры

Параметр Варианты/Значения по умолчанию Комментарии
check_id Значение по умолчанию:
None
Идентификатор проверки службы, по умолчанию совпадает с именем проверки, игнорируется, если он является частью определения службы.
check_name Значение по умолчанию:
None
Имя проверки службы, по умолчанию совпадает с идентификатором проверки. Требуется, если автономная, игнорируется, если является частью определения службы.
host Значение по умолчанию:
localhost
Хост агента consul, по умолчанию localhost
http
(добавлено в 2.0)
Значение по умолчанию:
None
Проверки могут быть зарегистрированы с помощью http-окончания. Это означает, что consul проверит, что http-окончание возвращает успешный http-статус. Также необходимо указать интервал.
interval Значение по умолчанию:
None
Интервал, с которым будет выполняться проверка службы. Это число с суффиксом s или m для обозначения единиц секунд или минут, например 15s или 1m. Если суффикс не указан, по умолчанию используется m, например 1 будет 1m. Требуется, если указан параметр скрипта.
notes Значение по умолчанию:
None
Примечания, которые нужно добавить к проверке при ее регистрации.
port Значение по умолчанию:
8500
Порт, на котором работает агент consul
scheme
(добавлено в 2.1)
Значение по умолчанию:
http
Схем протокола, на котором работает агент consul
script Значение по умолчанию:
None
Скрипт/команда, которые будут выполняться периодически для проверки состояния службы. Скрипты требуют интервал и наоборот.
service_address
(добавлено в 2.1)
Значение по умолчанию:
None
Адрес, который будет объявлен, что служба будет прослушивать. Это значение будет передано как параметр Address методу API Consul /v1/agent/service/register, поэтому для получения дополнительной информации обратитесь к документации API Consul.
service_id Значение по умолчанию:
service_name if supplied
Идентификатор службы, должен быть уникальным для каждого узла, по умолчанию совпадает с именем службы, если имя службы указано
service_name
Уникальное имя службы на узле, должно быть уникальным для каждого узла, требуется при регистрации службы. Может быть опущено, если регистрируется проверка на уровне узла
service_port Значение по умолчанию:
None
Порт, на котором служба прослушивает. Может быть дополнительно указан для регистрации службы, т. е. если установлен service_name или service_id
state
требуется
    Варианты:
  • present
  • absent
регистрация или отмена регистрации службы consul, по умолчанию present
tags Значение по умолчанию:
None
Список тегов, которые будут добавлены к регистрации службы.
timeout
(добавлено в 2.0)
Значение по умолчанию:
None
Настройка таймаута проверки HTTP. Значение по умолчанию в consul — 10 секунд. Аналогично интервалу, это число с суффиксом s или m для обозначения единиц секунд или минут, например 15s или 1m.
token Значение по умолчанию:
None
Ключ токена, определяющий набор правил ACL. Может потребоваться для регистрации служб.
ttl Значение по умолчанию:
None
Проверки могут быть зарегистрированы с ttl вместо скрипта и интервала, что означает, что служба будет проверять связь с агентом до истечения ttl. Если этого не происходит, проверка считается не пройденной. Требуется при регистрации проверки, если отсутствуют скрипт и интервал. Аналогично интервалу, это число с суффиксом s или m для обозначения единиц секунд или минут, например 15s или 1m. Если суффикс не указан, по умолчанию используется m, например 1 будет 1m
validate_certs
(добавлено в 2.1)
Значение по умолчанию:
yes
Выполнять ли проверку сертификата tls агента consul

Примеры

- name: register nginx service with the local consul agent
  consul:
    service_name: nginx
    service_port: 80

- name: register nginx service with curl check
  consul:
    service_name: nginx
    service_port: 80
    script: curl http://localhost
    interval: 60s

- name: register nginx with an http check
  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
  consul:
    service_name: nginx
    service_port: 80
    service_address: 10.1.5.23

- name: register nginx with some service tags
  consul:
    service_name: nginx
    service_port: 80
    tags:
      - prod
      - webservers

- name: remove nginx service
  consul:
    service_name: nginx
    state: absent

- name: register celery worker service
  consul:
    service_name: celery-worker
    tags:
      - prod
      - worker

- name: create a node level check to test disk usage
  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
  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–2019 Red Hat, Inc.
Licensed under the GNU General Public License version 3.
https://docs.ansible.com/ansible/2.5/modules/consul_module.html

Spec-Zone.ru

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