必须在基础架构上安装 Salt,这包括安装 Salt 主节点和 Salt 工作节点服务。
Salt 及其依赖项必须至少安装在标准 Automation Config 安装方案中涉及的节点上。
强烈建议在计划使用 Automation Config 进行管理的任何基础架构上预先安装 Salt。安装 Salt 可简化更新到未来 Salt 版本的过程。在开始安装 Automation Config 之前,请考虑在基础架构上安装 Salt,然后监控一段时间,以确保其稳定并正常运行。
请查阅以下指南,以确保在基础架构中实施 Salt 时您的环境遵循最佳做法:
要准备计算机以执行 Automation Config 标准安装,需要安装或升级 Salt 和 Python。在安装中涉及的所有节点上,需要存在并更新 Salt 和 Python。如果节点上未安装 Salt 和安装程序的依赖项,则安装将失败。
必需:对于棕地/升级部署,从 Salt 3006 开始,Salt 主节点配置为以用户“salt”而不是传统的“root 用户”身份运行。因此,这可能会导致 RaaS 相关工作流(例如,工作节点部署和 RaaS 主节点插件升级)出现权限错误。
要修复此问题,请修改 /etc/salt/master.d/raas.conf 文件,将用户更改为 root:user: root
。
在 Salt 主节点上安装 Salt
在标准安装中,需要在 Salt 主节点上安装 Salt 主节点服务和工作节点服务。
firewall-cmd --permanent --zone=public --add-port=4505-4506/tcp
firewall-cmd --reload
- 安装 Salt 项目存储库和密钥:
sudo yum install https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el7.noarch.rpm
- 清除缓存:
sudo yum clean expire-cache
- 在 Salt 主节点上安装 Salt 主节点服务和工作节点服务:
sudo yum install salt-master sudo yum install salt-minion
- 在
/etc/salt/minion.d
目录中创建master.conf
文件。在此文件中,将 Salt 主节点的 IP 地址设置为指向自身:master: localhost
- 启动 Salt 主节点服务和工作节点服务:
sudo systemctl start salt-master sudo systemctl enable salt-minion sudo systemctl start salt-minion
如果需要,使用
service salt-minion restart
重新启动工作节点。
在 Salt 工作节点上安装 Salt
按照上一部分所述在 Salt 主节点上安装 Salt 后,下一步是在将成为 RaaS、Redis 数据库和 PostgreSQL 数据库的三个节点上安装工作节点服务(不是主节点服务)。
之后,需要配置工作节点以与 Salt 主节点进行通信。有关安装工作节点服务的更多详细信息,请参见 Salt 文档中的工作节点配置。
要安装工作节点服务,请执行以下操作:
- 运行以下命令,只安装工作节点服务:
sudo yum install salt-minion
- 对所有提示均回答
y
,以接受所有更改。 - 在
/etc/salt/minion.d
目录中创建master.conf
文件,配置每个工作节点以与 Salt 主节点通信。在此文件中,提供 Salt 主节点的 IP 地址。例如:master: 192.0.2.1
- 启动工作节点服务:
sudo systemctl enable salt-minion sudo systemctl start salt-minion
如果需要,使用
service salt-minion restart
重新启动工作节点。 - 对其余的所有节点重复上述步骤。
替代方法:您也可以使用 VMware Tools 启用 Salt 工作节点。有关详细信息,请参见使用 VMware Tools 启用 Salt 工作节点。
接受主节点上的工作节点密钥
此时,您已安装 Salt 主节点服务和工作节点服务,并为工作节点提供了 Salt 主节点的 IP 地址。现在,为了使 Salt 主节点能够向工作节点发送命令,下一步是接受 Salt 主节点上的工作节点密钥。
继续操作之前:
- 确保已启用并启动 Salt 主节点服务。
- 确保在所有节点上已启用并启动工作节点。
要接受密钥,请执行以下操作:
- 在 Salt 主节点的终端中,列出 Salt 主节点上的所有密钥:
salt-key -L
- 检查所有工作节点 ID 是否都列在
Unacceptedkeys
中。如果工作节点 ID 显示在
Acceptedkeys
中,则无需进一步操作,因为这是最终目标。 - 使用以下命令接受每个工作节点 ID,并将 <your-minion-id> 替换为来自您网络的 ID:
salt-key -a <your-minion-ID>
运行
salt-key -A
会接受所有密钥。 - 对所有提示均回答
y
。 - 再次运行
salt-key -L
命令以确认所有工作节点都显示在Acceptedkeys
中。
在气隙系统中安装 Salt
无法通过 Internet 定期更新 Salt 可能会给您的网络造成问题,除非网络为气隙网络。因此,强烈建议预先使用 onedir 软件包安装 Salt。
请注意,在气隙系统中,在基础架构上安装 Salt 有其利弊。