我有一个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的其他方式,我很高兴知道。
谢谢,
答案 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
}