Ansible: как запустить консул-кластер

У меня есть ansible-playbook для настройки консула (3 сервера (1 загрузчик)) и 3 клиента. Во-первых, я хочу выполнить загрузку, это консольная команда:

[email protected]$ consul agent -config-dir /etc/consul.d/bootstrap

Затем, пока выполняется начальная загрузка, я хочу запустить консул на других серверах кластера. У меня есть следующее в ansible:

-  name: start consul
   service: name=consul state=restarted enabled=yes

Моя проблема в том, как я могу остановить следующее выполнение с помощью Ansible:

consul agent -config-dir /etc/consul.d/bootstrap

Если это другой способ запустить консул-кластер с помощью Ansible, я очень рад узнать.

Спасибо,


person Asier Gomez    schedule 22.02.2016    source источник


Ответы (1)


Ответ решения:

Я изменил свою конфигурацию консула на клиентах и ​​серверах для автоматического создания кластера, поэтому, когда вы запускаете компьютеры узлов, кластер запускается и консул запускается автоматически. Для этого я использую следующую конфигурацию:

Клиент:

{
   "bind_addr":"172.16.8.194",
    "client_addr":"0.0.0.0",
    "server": false,
    "datacenter": "ikerlan-Consul",
    "data_dir": "/var/consul",
    "ui_dir": "/home/ikerlan/dist",
    "log_level": "WARN",
    "encrypt": "XXXXXX",
    "enable_syslog": true,
    "retry_join": [172.16.8.191,172.16.8.192,172.16.8.193]
}

Сервер:

{
    "bind_addr":"0.0.0.0",
    "client_addr":"0.0.0.0",
    "bootstrap": false,
    "server": true,
    "datacenter": "ikerlan-Consul",
    "data_dir": "/var/consul",
    "ui_dir": "/home/ikerlan/dist",
    "log_level": "WARN",
    "encrypt": "XXXXXX",
    "enable_syslog": true,
    "retry_join": [172.16.8.191,172.16.8.192,172.16.8.193],
   "bootstrap_expect": 3
}
person Asier Gomez    schedule 04.03.2016