Azure 上的在线 Saltstack Minions 与 DigitalOcean 上的 Master 失去连接
Online Saltstack Minions on Azure losses connection with Master on DigitalOcean
我有一个 salt 2016.11.3 (Carbon) playground,其中有一个 DigitalOcean 的 master 和 Azure 的 4 个 minions(三个 ubuntu 和 1 个 windows)。
一段时间后 ubuntu minions 没有响应 salt -t 30 '*' test.ping
但他们在线(我可以通过 ssh 进入他们)
重新启动 master systemctl restart salt-master
或 minions systemctl restart salt-minion
似乎可以让 minions 恢复一段时间。
已检查的内容:
Azure 机器进入休眠状态,仅在发生外部事件时唤醒 ✗
两个云之间的网络很慢✗
salt master机器太小✗
salt minions 不问master "work" ✗
salt-master 由于某种原因挂起
- salt-minion 通信错误✔
同样在重新启动后,我从重新添加的节点得到了双重响应,但我认为这是一个缓存问题,因为它会在一段时间后消失(缓存失效)。
好像是通讯错误。有一个较旧的 2013 bug report on saltstack github repo and someone states in comments that AWS and Azure load balancers don't respect TCP keepalives。
建议的解决方案:
- add a cron to ping minions 每分钟
- change some keepalive settings 在 Azure minions 配置文件中
到目前为止,解决方案 #2 对我有效。
tcp_keepalive: True
tcp_keepalive_idle: 60
我有一个 salt 2016.11.3 (Carbon) playground,其中有一个 DigitalOcean 的 master 和 Azure 的 4 个 minions(三个 ubuntu 和 1 个 windows)。
一段时间后 ubuntu minions 没有响应 salt -t 30 '*' test.ping
但他们在线(我可以通过 ssh 进入他们)
重新启动 master systemctl restart salt-master
或 minions systemctl restart salt-minion
似乎可以让 minions 恢复一段时间。
已检查的内容:
Azure 机器进入休眠状态,仅在发生外部事件时唤醒✗两个云之间的网络很慢✗salt master机器太小✗salt minions 不问master "work"✗salt-master 由于某种原因挂起- salt-minion 通信错误✔
同样在重新启动后,我从重新添加的节点得到了双重响应,但我认为这是一个缓存问题,因为它会在一段时间后消失(缓存失效)。
好像是通讯错误。有一个较旧的 2013 bug report on saltstack github repo and someone states in comments that AWS and Azure load balancers don't respect TCP keepalives。
建议的解决方案:
- add a cron to ping minions 每分钟
- change some keepalive settings 在 Azure minions 配置文件中
到目前为止,解决方案 #2 对我有效。
tcp_keepalive: True
tcp_keepalive_idle: 60