Salt 无法启动 master

Salt 无法启动 master

标题说明了一切。我已经在主服务器和几个从服务器上安装了 salt。在主服务器上,我只安装了基本的 salt 组件(不包括 salt-minion)并运行了更新。

我将 minions 指向 master 的 IP,但它们没有出现。经过进一步调查,似乎导致该问题的原因在于“salt master 没有运行”。

所以我去运行“salt-master -d”来启动它并得到:

WARNING: Unable to bind socket 0.0.0.0:4505, error: [Errno 98] Address already in use; Is there another salt-master running?
The salt master is shutdown. The ports are not available to bind

“salt-master -l debug”给了我

[DEBUG   ] Reading configuration from /etc/salt/master
[DEBUG   ] Configuration file path: /etc/salt/master
[WARNING ] Insecure logging configuration detected! Sensitive data may be logged.
[INFO    ] Setting up the Salt Master
[WARNING ] Unable to bind socket 0.0.0.0:4505, error: [Errno 98] Address already in use; Is there another salt-master running?
[INFO    ] The Salt Master is shut down
[INFO    ] PIDfile could not be deleted: /var/run/salt-master.pid
[DEBUG   ] Stopping the multiprocessing logging queue listener
[DEBUG   ] closing multiprocessing queue
[DEBUG   ] joining multiprocessing queue thread
[DEBUG   ] Stopped the multiprocessing logging queue listener

肯定没有其他主进程正在运行。Top 显示确实有很多 salt 进程正在运行,按照网上的一些建议,我尝试 killall 并重新开始。这次它似乎成功了,但当我尝试运行任何命令时,我得到的

[ERROR   ] An un-handled exception was caught by salt's global exception handler:
KeyError: 'consul.list'

我不知道发生了什么,我正准备去重启服务器并重新安装所有东西,因为什么都不起作用。但我隐隐觉得第二次也不会有什么不同。

如果有帮助的话,主机正在运行 Ubuntu 18.04 服务器,并安装 Py3 版本的 SaltStack。

答案1

通过搜索 SaltStack 故障排除文档我发现:

对于主服务器,TCP 端口 4505 和 4506 需要打开。如果您已将 Salt 主服务器和从服务器都置于调试模式,但没有看到从服务器已连接的确认,则很可能是防火墙干扰了连接。

您可以找到防火墙规则/etc/ufw/applications.d/salt.ufw并启用ufw allow salt

相关内容