首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >盐栈多主设置-缓慢和不可靠。我做错了什么?

盐栈多主设置-缓慢和不可靠。我做错了什么?
EN

Stack Overflow用户
提问于 2021-01-18 15:41:29
回答 1查看 947关注 0票数 2

我必须使用Salt堆栈3002管理一个600 ubuntu (16.04-20.04)服务器集群。

我决定安装一个多主机设置,用于负载分配和容错。对我来说,盐合成似乎不是正确的选择。相反,我认为盐奴才应该从名单中随机挑选一位主人(?)从仆从开始。因此,我的配置如下(摘录):

师父:

代码语言:javascript
复制
auto_accept: True
master_sign_pubkey: True
master_use_pubkey_signature: True

仆从:

代码语言:javascript
复制
master:
  - saltmaster001
  - saltmaster002
  - saltmaster003

verify_master_pubkey_sign: True
retry_dns: 0
master_type: failover
random_master: True

(如你所见,三位食盐大师)。我基本上遵循了本教程:pki.html

现在,它不太好用.由于各种原因:

代码语言:javascript
复制
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。

所以唯一的方法就是用盐召唤一个特定的仆从。不是很有用。即使这样做也不是很好,例如:

代码语言:javascript
复制
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

所以仆从决定转到另一位主人那里去打盐电话需要很长时间.决定一个仆从决定转换的条件的规则没有被解释(至少我什么也找不到).是主人的重担吗?有联系的奴才的数目?

另一个问题是盐矿。我使用的代码如下:

代码语言:javascript
复制
salt.saltutil.runner('mine.get', tgt='role:mopsbrokeraggr', fun='network.get_hostname', tgt_type='grain')

不幸的是,地雷的价值因走狗而有很大差别,因此地雷也无法使用。

我应该指出,我的主人是16核和128 my的大机器,所以这不是一个资源短缺的问题。

对我来说,pki.html中描述的场景只是根本不起作用。

  • 那么,如果有人可以告诉我,如何创建一个适当的设置与3个盐母版的负载分配?
  • 盐-合成实际上是更好的方法吗?
  • 盐-合成器能与随机分配的奴才一起使用吗?
  • 本教程的目的是什么?还是我忽略了什么?
EN

回答 1

Stack Overflow用户

发布于 2021-01-18 19:14:26

在有关此方法的文档中,有几个语句值得注意。在问题中引用链接的话:

第一位接受奴才的主人,是由仆从使用的。如果主人还不知道奴才,那就算作被接受了,而奴才留在主人身上。

然后

应该在当前连接到的主程序上运行一个test.version来测试连接性。

因此,这似乎表明,仆从是连接到一个主人在一次。这意味着只有该主程序才能在该分支上运行test.version (而不是任何其他的主)。

您的问题的主要目标之一可以通过不同的多主设置方法来实现:https://docs.saltproject.io/en/latest/topics/tutorials/multimaster.html

简单地说,您可以使用相同的PKI密钥区配置多个主服务器。在下面的解释,我有一个多主设置与2服务器。我在第二台服务器上使用第一/主服务器上的以下文件。

代码语言:javascript
复制
/etc/salt/pki/master/master.pub
/etc/salt/pki/master/master.pem

然后在/etc/salt/minion中为多个主服务器配置盐分。

代码语言:javascript
复制
masters:
- master1
- master2

一旦重新启动了各自的服务,您就可以用salt-key -L检查所有的仆从在两个主程序上都可用了。

代码语言:javascript
复制
# salt-key -L
Accepted Keys:
Denied Keys:
Unaccepted Keys:
minion1
minion2
minion3
...
Rejected Keys:

一旦所有附庸的密钥都被接受,我们就可以从主程序中的任何一个运行salt '*' test.version,并到达所有的仆从。

关于如何在上面引用的链接中保持file_rootspillar_roots、minion键和配置之间的一致性,还有其他考虑事项。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65777644

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档