Ansible:如何启动consul-cluster

时间:2016-02-22 14:02:35

标签: ansible ansible-playbook consul ansible-2.x

我有一个ansible-playbook来配置consul(3个服务器(1个引导程序))和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的其他方式,我很高兴知道。

谢谢,

1 个答案:

答案 0 :(得分:0)

解决方案答案:

我已在客户端和服务器上更改我的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
}