问题描述
我必须使用 Saltstack 3002 管理大约 600 个 ubuntu (16.04-20.04) 服务器的集群。
我决定为负载分配和容错安装一个多主设置。 salt-syndic 对我来说似乎不是正确的选择。相反,我认为salt-minions应该在minion开始时随机(?)从列表中选择一个master。所以我的配置如下(摘录):
大师:
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
(如您所见,三位盐大师)。我基本上遵循了本教程:https://docs.saltstack.com/en/latest/topics/tutorials/multimaster_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]
仅当目标 minions 意外连接到您发出 salt 命令的 master 而不是任何其他 master 时,Salt 才会在 master 工作上运行。在上面的示例中,如果您在不同的 master 上运行它,对于不同的 minion,响应将为 True。
所以唯一的方法是在特定的 minion 上使用 salt-call。不是很有用。即使这样也不能很好地工作,例如:
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
所以minion决定切换到另一个master并且salt-call需要很长时间......决定minion决定切换的条件的规则没有解释(至少我找不到任何东西)......这是主人的负担吗?连接的minions数量?...
另一个问题是盐矿。我使用的代码如下:
salt.saltutil.runner('mine.get',tgt='role:mopsbrokeraggr',fun='network.get_hostname',tgt_type='grain')
不幸的是,地雷的值因小兵而异,因此地雷也无法使用。
我要提一下,我的master是16核128GB内存的大机器,所以这不是资源短缺的问题。
对我来说,https://docs.saltstack.com/en/latest/topics/tutorials/multimaster_pki.html 中描述的场景根本根本不起作用。
- 那么,如果有人能告诉我如何使用 3 个 saltmaster 来创建正确的设置以进行负载分配?
- salt-syndic 实际上是更好的方法吗?
- salt-syndic 是否可以用于根据负载或其他因素将 Minion 随机分配给 Master?
- 上述教程的目的是什么?还是我忽略了什么?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)