我必须使用Salt堆栈3002管理一个600 ubuntu (16.04-20.04)服务器集群。
我决定安装一个多主机设置,用于负载分配和容错。对我来说,盐合成似乎不是正确的选择。相反,我认为盐奴才应该从名单中随机挑选一位主人(?)从仆从开始。因此,我的配置如下(摘录):
师父:
auto_accept: True
master_sign_pubkey: True
master_use_pubkey_signature: True仆从:
master:
- saltmaster001
- saltmaster002
- saltmaster003
verify_master_pubkey_sign: True
retry_dns: 0
master_type: failover
random_master: True(如你所见,三位食盐大师)。我基本上遵循了本教程:pki.html
现在,它不太好用.由于各种原因:
salt 'tnscass*' test.ping
tnscass011.mo-mobile-prod.ams2.cloud:
True
tnscass010.mo-mobile-prod.ams2.cloud:
True
tnscass004.mo-mobile-prod.ams2.cloud:
True
tnscass005.mo-mobile-prod.ams2.cloud:
Minion did not return. [Not connected]
tnscass003.mo-mobile-prod.ams2.cloud:
Minion did not return. [Not connected]
tnscass007.mo-mobile-prod.ams2.cloud:
Minion did not return. [Not connected]只有当目标仆从意外地连接到您发出Salt命令的主程序时,salt才能在主工作上运行,而不是连接到任何其他主程序。在上面的例子中,如果您在不同的主程序上运行不同的分支,则响应将为True。
所以唯一的方法就是用盐召唤一个特定的仆从。不是很有用。即使这样做也不是很好,例如:
root@minion:~# salt-call state.apply
[WARNING ] Master ip address changed from 10.48.40.93 to 10.48.42.32
[WARNING ] Master ip address changed from 10.48.42.32 to 10.48.42.35所以仆从决定转到另一位主人那里去打盐电话需要很长时间.决定一个仆从决定转换的条件的规则没有被解释(至少我什么也找不到).是主人的重担吗?有联系的奴才的数目?
另一个问题是盐矿。我使用的代码如下:
salt.saltutil.runner('mine.get', tgt='role:mopsbrokeraggr', fun='network.get_hostname', tgt_type='grain')不幸的是,地雷的价值因走狗而有很大差别,因此地雷也无法使用。
我应该指出,我的主人是16核和128 my的大机器,所以这不是一个资源短缺的问题。
对我来说,pki.html中描述的场景只是根本不起作用。
发布于 2021-01-18 19:14:26
在有关此方法的文档中,有几个语句值得注意。在问题中引用链接的话:
第一位接受奴才的主人,是由仆从使用的。如果主人还不知道奴才,那就算作被接受了,而奴才留在主人身上。
然后
应该在当前连接到的主程序上运行一个test.version来测试连接性。
因此,这似乎表明,仆从是连接到一个主人在一次。这意味着只有该主程序才能在该分支上运行test.version (而不是任何其他的主)。
您的问题的主要目标之一可以通过不同的多主设置方法来实现:https://docs.saltproject.io/en/latest/topics/tutorials/multimaster.html。
简单地说,您可以使用相同的PKI密钥区配置多个主服务器。在下面的解释,我有一个多主设置与2服务器。我在第二台服务器上使用第一/主服务器上的以下文件。
/etc/salt/pki/master/master.pub
/etc/salt/pki/master/master.pem然后在/etc/salt/minion中为多个主服务器配置盐分。
masters:
- master1
- master2一旦重新启动了各自的服务,您就可以用salt-key -L检查所有的仆从在两个主程序上都可用了。
# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
minion1
minion2
minion3
...
Rejected Keys:一旦所有附庸的密钥都被接受,我们就可以从主程序中的任何一个运行salt '*' test.version,并到达所有的仆从。
关于如何在上面引用的链接中保持file_roots、pillar_roots、minion键和配置之间的一致性,还有其他考虑事项。
https://stackoverflow.com/questions/65777644
复制相似问题