Ansible:如何启动领事集群

Ansible: how to start consul-cluster

我有一个 ansible-playbook 来配置领事(3 个服务器(1 bootstrap))和 3 个客户端。 首先,我要执行 bootstrap 这是控制台命令:

vagrant@172.16.8.191$ consul agent -config-dir /etc/consul.d/bootstrap

然后在bootstrap执行的时候,我想在集群的其他服务器上启动consul。我在 ansible 中有下一个:

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

我的问题是,如何使用 Ansible 停止下一次执行:

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

如果这是通过 Ansible 启动 consul-cluster 的其他方式,我很高兴知道。

谢谢,

解决方案答案:

我更改了客户端和服务器上的 consul 配置以自动创建集群,因此当您启动节点计算机时,集群和 consul 会自动启动。 为此,我使用下一个配置:

客户:

{
   "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
}