salt-stack 多主设置 - 缓慢且不可靠我做错了什么?

问题描述

我必须使用 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 (将#修改为@)