管理 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
如何在 CentOS/RHEL 8 上安装 SaltStack Master

什么是 SaltStack Master

SaltStack 或者 Salt 是基于 Python 的开源软件,用于基于事件的 IT 自动化、远程任务执行和配置管理。

它支持数据中心系统和网络部署和管理、配置自动化、SecOps 编排、漏洞修复和混合云控制的“基础设施即代码”方法。

SaltStack Master 是服务器节点,它是控制所有 Salstack Minion 的中央服务器。
主服务器持有 Minion 的 Inventory 和 Public Keys 并对其执行远程执行。

在本文中,我们将学习如何在 CentOS/RHEL 8 上安装 SaltStack Master。

查看更多教程 https://on  itroad.com

在 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 服务器上。

日期:2020-09-17 00:10:40 来源:oir作者:oir