0

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

vagrant@172.16.8.191$ 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 启动 consul-cluster 的其他方式,我很高兴知道。

谢谢,

4

1 回答 1

0

解决方案答案:

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

客户:

{
   "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
}
于 2016-03-04T13:22:13.613 回答