saltstack 多master配置

saltstack minion可以连接多Master的特性. 这种方式称为多master( multi-master )配置,可以当做master的备份机,实现master高可用的热备份

以下就多master配置以及注意事项简单做一说明

以下配置中多master分别为:master1、master2

因为minion端只能存储一个master的key,所以必须确保多个master的key一致,才能完成多个master的认证

1. master key共享

启动master1,copy master1 的key到master2对一个的位置,并启动master2

/etc/salt/pki/master/master.pem、master.pub

此处需要注意,本人一开始只共享了master.pem,minion启动起来,两个master都完成认证时,就会死掉,再共享master.pub 就可以使用了

2. minion 端配置 multi-master

minion配置文件中的master如下:

master: 
  - master1
  - master2

启动minion使配置生效,注意在此之前确保minion的key没有存在任何master上,也就是说minion没有和任何master完成认证过

3.master端接收minion key,完成认证

在两个master上接收minion的key,也可以设置master自动接收key,这个根据自己的需求选择接收方式

minion以串行的方式向master发送认证请求,一般是先验证minion配置中的第一个master(master1),master1认证完成后,在向master2发送认证请求,所以在master1还没认证时在master2上找不到minion认证请求的key,先去master1上认证

以下为minion端的认证log:

2015-09-09 09:35:49,016 [salt.minion                              ][DEBUG   ][25750] Attempting to authenticate with the Salt Master at master1
2015-09-09 09:35:49,016 [salt.crypt                               ][DEBUG   ][25750] Initializing new SAuth for ('/etc/salt/pki/minion', 'minion', 'tcp://master1:4506')
2015-09-09 09:37:30,056 [salt.minion                                ][DEBUG   ][25750] Attempting to authenticate with the Salt Master at master2
2015-09-09 09:37:30,056 [salt.crypt       ][DEBUG   ][25750] Initializing new SAuth for ('/etc/salt/pki/minion', 'minion', 'tcp://master2:4506')


4.多master之间保持一致的文件及目录

保持master的配置内容一致,主要是file_roots,external_auth等的配置一致,若是配置了nodegroup 需要保持nodegroup 的文件内容及地址一致

保持master的file_roots(保存salt配置脚本文件),可以放在第三方软件库svn、git库,也可放在一个共享的ftp等

在使用的时候可以只调用master1,在master1无法连接时自动使用master2来控制minion


你可能感兴趣的