2016-07-25 69 views
1

我在AWS 6上运行t2.micro和1个t2.small实例,运行Ubuntu。所有这些实例都在同一个VPC中运行。Salt请求超时 - Minion没有返回

接受键

Accepted Keys: 
minion-bastion 
minion-esc-kibana 
minion-esc-logs-s3 
minion-esn-1 
minion-esn-2 
minion-esn-3 

后,我运行salt '*' test.ping命令。有时候我没有任何回应:

minion-bastion: 
    Minion did not return. [No response] 
minion-esn-1: 
    Minion did not return. [No response] 
minion-esn-2: 
    Minion did not return. [No response] 
minion-esn-3: 
    Minion did not return. [No response] 
minion-esc-logs-s3: 
    Minion did not return. [No response] 
minion-esc-kibana: 
    Minion did not return. [No response] 

有时一些爪牙会回应,其他人不会。

minion-esc-kibana: 
    True 
minion-esc-logs-s3: 
    True 
minion-esn-3: 
    True 
minion-esn-2: 
    True 
minion-bastion: 
    Minion did not return. [Not connected] 
minion-esn-1: 
    Minion did not return. [No response] 

又一次有时我得到这个消息:

Salt request timed out. The master is not responding. If this error persists after verifying the master is up, worker_threads may need to be increased. 

每次运行测试命令,我得到另一个答复。之前回答的一个仆人现在没有回应。等等。

[email protected] ~> sudo salt-run manage.status 
down: 
    - minion-esn-1 
up: 
    - minion-bastion 
    - minion-esc-kibana 
    - minion-esc-logs-s3 
    - minion-esn-2 
    - minion-esn-3 
[email protected] ~> sudo service salt-master status 
salt-master start/running, process 11390 
[email protected] ~> sudo salt-run manage.status 
down: 
    - minion-esc-logs-s3 
up: 
    - minion-bastion 
    - minion-esc-kibana 
    - minion-esn-1 
    - minion-esn-2 
    - minion-esn-3 
[email protected] ~> 

在日志文件中没有相关条目。

我使用原始配置文件。我只是改变了奴才ID和主ID或IP。

对于在其上运行salt master的实例,我使用了一个2GB RAM的t2.small实例。在我使用1GB RAM的t2.micro之前。还有更多的错误。

我不知道我能做什么。或者我做错了什么。有没有人有任何建议?

编辑:

1的6个爪牙是alwas下来。哪一个,每个manage.status命令都会改变。

回答

0

当您运行test.ping时,Master会告诉Minions运行命令/函数,并侦听返回数据,并在接收到数据时将其打印到屏幕上。如果它没有收到任何回应,它就没有任何可以显示的Minion。

有几个选项可用于获取未响应的Minions信息。一种是当你运行盐命令时使用verbose(-v)选项,因为它会显示“Minion没有返回”任何超时时间。

salt -v '*' pkg.install zsh 

另一种选择是使用manage.down亚军:

salt-run manage.down 

而且,如果法师是大负荷下,很可能是CLI将退出而不对所有目标显示返回数据喽罗。然而,这并不意味着奴才不会回来;这只意味着Salt CLI超时等待响应。一旦工作完成,小黄人仍然会将他们的返回数据发回给主人。如果CLI输出中缺少任何预期的Minions,则可以使用jobs.list_jobs runner来显示已经运行的作业的作业ID,并且可以使用jobs.lookup_jid runner来获取该作业的返回数据。

salt-run jobs.list_jobs 
salt-run jobs.lookup_jid 20130916125524463507 

如果你发现自己经常缺少对CLI爪牙返回数据,只能用工作亚军找到它,那么这可能是一个迹象,表明WORKER_THREADS值可能需要在主机配置,以增加文件。此外,使用-t选项运行您的Salt CLI命令将使Salt在退出CLI命令之前等待更长的返回数据。例如,下面的命令将等待60秒喽罗返回:

salt -t 60 '*' test.ping 
+0

正如你所看到的,你也可以得到不verbode选项“马仔未归”的消息。无论如何,通过'salt-run manage.down'我可以得到一个后卫。但是当我发送'salt'*'test.ping'时,“下”的小仆正在响应,另一个不响。主人不能承受沉重的负担,因为只有6个小兵和test.ping命令。而已。我试图用-t选项等待。但它不会改变任何事情。 – CPA

+0

我没有得到您的评论 – error2007s

+0

我编辑了我的命令。我总是得到返回数据。 – CPA