- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - Git 作为文件服务器
- 使用 MinionFS 作为文件服务器
- SaltStack - 使用 Cron 与 Salt
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 使用 Salt
- Salt 用于云基础设施
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - 安装
在开始安装之前,您需要满足以下要求:
一台 Linux 服务器(最新的 Ubuntu 服务器)。
对该服务器拥有 sudo 或 root 权限。
使用以下命令安装所有更新:
sudo apt-get update
安装 Salt Master
使用以下 apt-get 命令从仓库安装 Salt Master。
sudo apt-get install salt-master
安装 Salt Minion
使用以下 apt-get 命令从仓库安装 Salt minion。
sudo apt-get install salt-minion
安装 Salt Syndic
使用以下 apt-get 命令从仓库安装 Salt syndic。
sudo apt-get install salt-syndic
Master 配置
Salt 配置非常简单。Master 的默认配置适用于大多数安装。配置文件安装在 ‘/etc/salt’ 目录中,并以其各自的组件命名,例如:/etc/salt/master 和 /etc/salt/minion。
#interface: 0.0.0.0 interface: <local ip address>
更新配置文件后,使用以下命令重启 Salt master。
sudo service salt-master restart
Minion 配置
配置 Salt Minion 非常简单。默认情况下,Salt Minion 会尝试连接到 DNS 名为“salt”的服务器;如果 Minion 能够正确解析该名称,则无需进行任何配置。请重新定义 minion 配置文件(通常为 /etc/salt/minion)中的“master”指令,如下代码所示:
#master: salt master: <local ip address>
更新配置文件后,使用以下命令重启 Salt minion。
sudo service salt-minion restart
密钥管理
Salt 使用 AES 加密进行 Master 和 Minion 之间的所有通信。Master 和 Minion 之间的通信通过受信任的、已接受的密钥进行身份验证。
salt-key -L
这将产生以下 输出:
Accepted Keys: Denied Keys: Unaccepted Keys: <local system name> Rejected Keys:
使用以下命令接受所有密钥。
sudo salt-key -A
这将产生以下 输出:
The following keys are going to be accepted: Unaccepted Keys: <local system name> Proceed? [n/Y] y Key for minion bala-Inspiron-N4010 accepted.
现在再次发出 salt key listing 命令,
salt-key -L
这将产生以下 输出:
Accepted Keys: <local system name> Denied Keys: Unaccepted Keys: Rejected Keys:
发送命令
必须通过运行 test.ping 命令来验证 Master 和 Minion 之间的通信。
sudo salt '*' test.ping
这将产生以下 输出:
<local system name> True
这里,‘*’ 指的是所有 minion。由于我们只有一个 minion,test.ping 将执行 ping 命令并返回 ping 是否成功。