如何在 Debian 12 上安装 SaltStack IT 自动化框架如何在 Debian 12 上安装 SaltStack IT 自动化框架如何在 Debian 12 上安装 SaltStack IT 自动化框架如何在 Debian 12 上安装 SaltStack IT 自动化框架
  • 文章
  • 正则表达式
    • 工具
  • 登录
找到的结果: {phrase} (显示: {results_count} 共: {results_count_total})
显示: {results_count} 共: {results_count_total}

加载更多搜索结果...

搜索范围
模糊匹配
搜索标题
搜索内容
发表 admin at 2025年2月28日
类别
  • 未分类
标签

如何在 Debian 12 上安装 SaltStack IT 自动化框架

本教程适用于这些操作系统版本

  • Debian 12(书虫)
  • Debian 11(靶心)

在此页面上

  1. 先决条件
  2. 设置/etc/hosts文件
  3. 添加 SaltStack 存储库
  4. 设置 UFW
  5. 安装盐大师
  6. 安装 Salt Minion
  7. 将 Salt Minion 添加到 Salt Master
  8. 通过 SaltStack 运行任意命令
  9. 为 LAMP 堆栈安装创建盐状态
  10. 结论

Salt 或 Saltstack 是一个用 Python 编写的开源 IT 自动化框架。它允许管理员直接在远程多台机器上执行命令。

Salt采用Master和Minion架构设计。 Salt master是Salt配置管理的中央控制器,Minions是Salt master管理的服务器,或者你将minions命名为目标服务器。

本指南将向您展示如何在 Debian 12 服务器上安装 SaltStack。我们将向您展示如何安装 Salt Master 和 Minion,如何通过 Salt 运行任意命令,然后创建用于安装 LAMP Stack 的第一个 Salt 状态。

先决条件

在开始之前,请确保您具备以下条件:

  • 两个或三个 Debian 12 服务器 - 在此示例中,我们将使用 192.168.5.15 上的 master 服务器和 192.168.5.15 上的 minion1 服务器>192.168.5.21。
  • 具有管理员权限的非 root 用户。

设置/etc/hosts文件

在本节中,您将设置 /etc/hosts 文件,以便每个服务器都可以通过主机名进行连接,这比使用 IP 地址更容易。

使用以下 Nano 编辑器打开 /etc/hosts 文件。

sudo nano /etc/hosts

将详细主机和 IP 地址插入文件中。确保使用您的信息更改 IP 地址和主机名。

192.168.5.15 master
192.168.5.21 minion1

完成后保存并退出文件。

添加 SaltStack 存储库

设置/etc/hosts 文件后,您必须将SaltStack 存储库添加到所有Debian 服务器。 SaltStack 为大多数 Linux 发行版提供了官方存储库,包括最新的 Debian 12。

首先,使用以下命令创建一个新目录 /etc/apt/keyrings。

mkdir /etc/apt/keyrings

使用以下命令下载 SaltStack 存储库的 GPG 密钥。

sudo curl -fsSL -o /etc/apt/keyrings/salt-archive-keyring-2023.gpg https://repo.saltproject.io/salt/py3/debian/12/amd64/SALT-PROJECT-GPG-PUBKEY-2023.gpg

下载 GPG 密钥后,使用以下命令添加 SaltStack 存储库。

echo "deb [signed-by=/etc/apt/keyrings/salt-archive-keyring-2023.gpg arch=amd64] https://repo.saltproject.io/salt/py3/debian/12/amd64/latest bookworm main" | sudo tee /etc/apt/sources.list.d/salt.list

现在更新并刷新您的 Debian 软件包索引。

sudo apt update

您可以在下面看到添加到 Debian 服务器的 SaltStack 存储库。

设置 UFW

在此示例中,您将在 Debian 服务器上设置并启用 UFW(简单防火墙)。因此,您将安装 UFW,打开 SSH 端口,然后启动并启用 UFW。

使用以下命令在 Debian 系统上安装 UFW。

sudo apt install ufw -y

安装 UFW 后,执行以下命令以启用 OpenSSH 应用程序配置文件。您将看到添加的输出规则。

sudo ufw allow OpenSSH

现在使用以下命令启用 UFW。输入 y 确认、启动并启用 UFW。

sudo ufw enable

启动并启用 UFW 后,您将收到输出“防火墙已激活...”。

安装盐大师

完成上面的任务后,您就可以安装 SaltStack 了。您将在主服务器上安装并配置Salt Master。

在 master 服务器上,运行以下命令来安装 salt-master 软件包。输入 Y 确认安装。

sudo apt install salt-master

安装完成后,使用下面的 nano 编辑器命令打开默认的 Salt Master 配置 /etc/salt/master。

sudo nano /etc/salt/master

使用您的本地 IP 地址更改默认接口。在此示例中,主服务器 IP 地址为 192.168.5.15。

interface: 192.168.5.15

保存文件并在完成后退出。

现在运行以下命令来重新启动 salt-master 服务并应用您的更改。

sudo systemctl restart salt-master

然后验证 salt-master 服务以确保该服务正在运行。

sudo systemctl status salt-master

如果正在运行,您将看到诸如活动(正在运行)之类的输出。

接下来,运行以下命令打开 Salt Master 将使用的 TCP 端口 4505 和 4506。

sudo ufw allow 4505,4506/tcp

最后,使用以下命令检查主服务器中的端口列表。确保允许访问端口 4505 和 4506。

sudo ufw status

安装 Salt Minion

现在您已经配置了 Salt Master,继续在 minion1 服务器上配置 Salt Manion。您将安装 salt-minion,然后将其配置为连接到 Salt Master 服务器。

使用以下命令将 salt-minion 包安装到 minion1 服务器。输入 Y 确认安装。

sudo apt install salt-minion

安装完成后,使用 nano 编辑器命令打开 Salt Minion 配置 /etc/salt/minion。

sudo nano /etc/salt/minion

将您的 Salt Master IP 地址输入到 master 参数中,如下所示:

master: 192.168.5.15

保存文件并退出编辑器。

接下来,运行以下命令重新启动 salt-minion 服务并应用更改。

sudo systemctl restart salt-minion

最后,验证 salt-minion 服务以确保该服务正在运行。 Salt Minion 将自动注册到 Salt Master 服务器。

sudo systemctl status salt-minion

确保 salt-minion 服务正在运行,如下所示:

将 Salt Minion 添加到 Salt Master

配置 Salt Minion 后,您仍然需要接受来自 Minion 服务器的注册密钥。

首先,运行以下命令来验证主服务器上的列表密钥。

salt-key --finger-all

如果一切顺利,您可以看到 minion1 服务器或 Salt Minion 服务器的密钥。

现在运行以下命令以接受 minion1 服务器的密钥。输入 Y 确认并接受密钥。

salt-key -a minion1

接下来,再次验证 minion1 服务器上的列表密钥。您将看到 接受的密钥 部分中列出的 minion1 服务器的密钥。

salt-key --finger-all

现在您可以使用命令测试与 Salt Minion 服务器的连接。您可以使用主机名指定目标服务器,也可以使用“*”字符来定位所有可用的 Salt Minion 服务器。

salt minion1 test.ping
salt * test.ping

如果与 Salt Minion 的连接成功,您将看到输出“True”。

最后,使用以下命令验证 Salt 版本。

salt minion1 test.version

在此示例中,安装了Salt Minion 3007.0。

通过 SaltStack 运行任意命令

配置完所有内容后,您将通过从主服务器在 minion1 服务器上运行任意命令来测试 SaltStack 安装。

运行以下命令来更新 Minion 服务器的存储库包索引。

salt '*' pkg.refresh_db

现在运行以下命令以在目标服务器上打包更新。

salt '*' pkg.list_upgrades

接下来,运行以下命令以显示有关 apache2 包的信息。

salt '*' pkg.show apache2

要检查 Minion 服务器上正在运行的服务,请运行以下命令。

salt '*' service.get_running
salt '*' service.execs

为 LAMP 堆栈安装创建盐状态

在本节中,您将了解如何创建第一个 SaltState 以将 LAMP Stack(Apache、MariaDB 和 PHP)安装到 minion1 服务器。

首先,使用以下命令创建一个新目录 /srv/salt/lamp。

mkdir -p /srv/salt/lamp

现在使用以下 Nano 编辑器创建一个新的 Salt 状态初始化文件 /srv/salt/lamp/init.sls。

nano /srv/salt/lamp/init.sls

将以下配置添加到文件中。这样,您将在目标服务器上安装 LAMP Stack(Apache、MariaDB 和 PHP)。

lamp_stack:
 pkg.installed:
 - pkgs:
 - apache2
 - mariadb-server
 - php
 - libapache2-mod-php
apache2:
 service.running:
 - enable: True
 - reload: True
mariadb:
 service.running:
 - enable: True
 - reload: True

保存文件并退出。

现在运行以下命令来根据 Salt Minion 验证您的 Salt 状态配置。确保您没有任何错误。

sudo salt * state.show_sls lamp

接下来,运行以下命令将 Salt 状态“lamp”应用到 minion1 服务器。

sudo salt minion1 state.apply lamp

该过程完成后,您将得到以下输出:

最后,运行以下命令来验证 minion1 服务器上的 Apache 和 MariaDB 服务。

salt '*' service.get_running

确保 apache2 和 mariadb 服务都在运行。

结论

恭喜!您已在 Debian 12 服务器上完成 SaltStack(Salt Master 和 Minion)的安装。您还学习了如何对 Minion 服务器运行任意命令,并创建用于安装 LAMP Stack(Apache2、MariaDB 和 PHP)的第一个 Salt 状态。

©2015-2025 艾丽卡 support@alaica.com