管理 SaltStack 公钥:
在初始连接时,SaltStack minion 将其公钥发送给 SaltStack master。
这个公钥必须被 Master 接受,以允许 Minion 与 SaltStack Master 通信。
列出所有 SaltStack 公钥。
# salt-key -L Accepted Keys: Denied Keys: Unaccepted Keys: saltstack-master-01.onitroad.com Rejected Keys:
目前,只有一个未接受的公钥。
使用以下命令接受此公钥。
# salt-key -A The following keys are going to be accepted: Unaccepted Keys: saltstack-master-01.onitroad.com Proceed? [n/Y] Y Key for minion saltstack-master-01.onitroad.com accepted.
在所有minion上执行ping命令。
# salt '*' test.ping saltstack-master-01.onitroad.com: True
检查所有minions的版本。
# salt '*' test.version saltstack-master-01.onitroad.com: 3001.1
安装 SaltStack 官方 Yum 存储库:
尽管 SaltStack 软件包可通过 EPEL(企业 Linux 的另外软件包)yum 存储库获得。
但是如果你想安装最新版本的软件,那么你应该安装他们的官方 yum 存储库。
使用以下命令在 CentOS/RHEL 8 上安装 SaltStack 官方 yum 存储库。
# dnf install -y https://repo.saltstack.com/py3/redhat/salt-py3-repo-latest.el8.noarch.rpm
为新安装的 yum 存储库构建缓存。
# dnf makecache CentOS-8 - AppStream 179 B/s | 4.3 kB 00:24 CentOS-8 - Base 3.5 kB/s | 3.9 kB 00:01 CentOS-8 - Extras 667 B/s | 1.5 kB 00:02 SaltStack Latest Release Channel Python 3 for R 33 kB/s | 224 kB 00:06 Metadata cache created.
配置 SaltStack Master:
SaltStack 软件的配置文件位于 /etc/salt 目录中。
默认配置足以启动 Master 服务器,但我们需要在启动其服务之前调整 SaltStack Minion 配置。
编辑 SaltStack Minion 配置文件。
# vi /etc/salt/minion
在此文件中找到以下指令。
#master: salt
并将其替换为以下指令。
master: saltstack-master-01.onitroad.com
master 指令告诉 Minion 正在使用的 Master 服务器。
SaltStack 主主机名必须是可解析的。
我们可以通过使用本地 DNS 解析器来执行此操作,例如:/etc/hosts 文件或者为计算机网络配置权威 DNS 服务器。
启用并启动 Master 和 Minion 服务。
# systemctl enable --now salt-master salt-minion Created symlink /etc/systemd/system/multi-user.target.wants/salt-master.service -> /usr/lib/systemd/system/salt-master.service. Created symlink /etc/systemd/system/multi-user.target.wants/salt-minion.service -> /usr/lib/systemd/system/salt-minion.service.
为 SaltStack Master 配置 Linux 防火墙:
SaltStack master 使用默认端口 4505/tcp 和 4506/tcp 。
因此,我们需要在 Linux 防火墙中允许传入流量到这两个端口。
# firewall-cmd --permanent --add-port={4505,4506}/tcp success # firewall-cmd --reload success
什么是 SaltStack Master
SaltStack 或者 Salt 是基于 Python 的开源软件,用于基于事件的 IT 自动化、远程任务执行和配置管理。
它支持数据中心系统和网络部署和管理、配置自动化、SecOps 编排、漏洞修复和混合云控制的“基础设施即代码”方法。
SaltStack Master 是服务器节点,它是控制所有 Salstack Minion 的中央服务器。
主服务器持有 Minion 的 Inventory 和 Public Keys 并对其执行远程执行。
在本文中,我们将学习如何在 CentOS/RHEL 8 上安装 SaltStack Master。
在 CentOS/RHEL 8 上安装 SaltStack Master:
我们已添加 SaltStack yum 存储库,现在我们可以使用 dnf 命令轻松安装最新版本的软件。
安装 SaltStack Master 服务器所需的必要软件包。
# dnf install -y salt-master salt-minion salt-ssh salt-syndic salt-cloud salt-api
在这里,我们也在 SaltStack Master 上安装 salt-minion 包,因为 Minion 会收集并发送 Master 的系统指标,即使在同一台服务器上。
在 CentOS/RHEL 8 上安装 Python:
SaltStack 是用 Python 编写的,因此,它需要 Python 语言支持来编译和执行 SaltStack 命令。
Python3 在默认 CentOS/RHEL AppStream 中可用,因此,我们可以使用 dnf 命令安装它。
# dnf install -y python3
Python 3.6 已安装在 Linux 服务器上。