- SaltStack 教程
- SaltStack - 主页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建一个简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - Git 作为文件服务器
- 使用MinionFS作为文件服务器
- SaltStack - 将 Cron 与 Salt 结合使用
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 进行加盐
- 云基础设施的盐
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用的资源
- SaltStack - 讨论
SaltStack - Salt 代理 Minion
有很多设备,如路由器、网络设备等,具有定制操作系统、有限的内存和高安全性考虑。在这些设备中,我们无法安装标准salt-minion,因此无法管理这些系统。然而,Salt 提供了一种创新技术来克服这一限制。
Salt有一个单独的模块,salt proxy minion,它使用远程系统中运行的REST服务来控制远程系统。此 REST 服务是使用表述性状态传输 (REST)概念编写的基于 HTTP 的 Web 服务,并且它们既易于实现又易于使用。
每个设备都会有自己的SDK和开发环境来编写复杂的应用程序。Salt 期望根据 Salt 接口规范在设备中开发 REST 服务。Salt还提供了一个Python模块来编写REST Web服务。如果设备支持Python,那么开发REST Web服务就会很容易。
在远程系统中开发并部署 REST Web 服务后,可以将 Salt 配置为使用 REST Web 服务而不是 salt minion 来控制远程设备。
工作示例
让我们使用实时工作环境来学习salt proxy minion的概念。对于现场环境,我们为master和代理minion选择了Linux系统。我们将使用 REST Web 服务而不是 salt-minion 来控制系统。
安装和配置 REST Web 服务
Salt 提供了 REST Web 服务实现的示例,在其 contrib 模块中名为 proxyminion_rest_example。让我们安装示例 Web 服务。
使用 pip安装“bottle” 。Bottle命令是一个用于开发 Web 应用程序的Python Web 框架。
pip install bottle = 0.12.8
从 github下载saltstack/salt-contrib项目。否则,请使用以下命令克隆项目。
git clone https://github.com/saltstack/salt-contrib
打开终端并转到salt-contrib目录。
这个 salt-contrib 目录将有一个文件夹proxyminion_rest_example。此文件夹包含 REST Web 服务的示例实现。转到 proxyminion_rest_example 文件夹。
运行以下命令启动 REST Web 服务。
python rest.py --address <your ip address> --port 8000
打开浏览器并加载 http://<您的 IP 地址>:8000。这将显示包含服务和包的默认页面,如下面的屏幕截图所示。
现在,我们已经配置了 REST Web 服务,它将检查如何配置 salt 代理来查询 REST Web 服务并控制系统。
配置盐代理
要配置 Salt-Proxy,我们必须遵循以下步骤。
我们必须为盐代理指定主节点。编辑代理配置文件位置(位于 /etc/salt/proxy 中),然后输入以下代码。
master: <your ip address>
在/srv/pillar/top.sls中修改/创建基础支柱文件,如以下代码块所示。
base: 'p8000': - p8000
在/srv/pillar中添加一个新的pillar 文件p8000.sls ,如下面的代码块所示。
proxy: proxytype: rest_sample url: http://<your ip address>:8000
使用以下命令在调试模式下启动 salt-proxy。
salt-proxy --proxyid = p8000 -l debug
与 salt-minion 类似,接受salt-proxy 键,如下所示。
salt-key -y -a p8000 The following keys are going to be accepted: Unaccepted Keys: p8000 Key for minion p8000 accepted.
运行盐
现在,运行salt命令并调用ping.test函数,如下所示。
salt p8000 test.ping
我们可以使用salt来运行 REST Web 服务支持的任何功能,这与salt-minion类似。
例如,可以使用以下命令获取颗粒信息。
salt p8000 grains.items