- 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 公式,用于配置 apache Web 服务器以及 PHP 软件。Salt 是执行临时命令的好方法,但您并不真的希望以这种方式持续配置基础设施。通过创建一组 Salt 公式,您可以可靠地重现任何配置。
Salt Formula 是简单的 YAML 文本文件,默认情况下驻留在 Salt Master 的/srv/salt/*中。让我们首先创建一个 Salt Formula 来同时安装 Apache Web 服务器和 PHP。
在/srv/salt/目录下创建一个名为“websetup.sls”的文件并添加以下代码。
网页设置.sls
websetup: pkg: - installed - pkgs: - apache2 - php5 - php5-mysql
在此示例中,请注意“- pkgs:”参数。“-pkgs:”下面列表中的每个项目将一起传递到操作系统的包管理器以一起安装。每当您有大量软件包需要安装时,这就是最有效的安装方法。
使用以下命令将此公式应用于 Salt master。
root@saltmaster:/home/vagrant# salt 'minion2' state.sls websetup
现在,您将看到以下输出-
minion2: ---------- ID: websetup Function: pkg.installed Result: True Comment: 3 targeted packages were installed/updated. Started: 01:50:53.978396 Duration: 86738.132 ms Changes: ---------- apache2: ---------- new: 2.4.7-1ubuntu4.13 old: apache2-api-20120211: ---------- new: 1 old: apache2-bin: ---------- new: 2.4.7-1ubuntu4.13 old: apache2-data: ---------- new: 2.4.7-1ubuntu4.13 old: libapache2-mod-php5: ---------- new: 5.5.9+dfsg-1ubuntu4.21 old: libapr1: ---------- new: 1.5.0-1 old: libaprutil1: ---------- new: 1.5.3-1 old: libaprutil1-dbd-sqlite3: ---------- new: 1.5.3-1 old: libaprutil1-ldap: ---------- new: 1.5.3-1 old: php5: ---------- new: 5.5.9+dfsg-1ubuntu4.21 old: php5-cli: ---------- new: 5.5.9+dfsg-1ubuntu4.21 old: php5-common: ---------- new: 5.5.9+dfsg-1ubuntu4.21 old: php5-json: ---------- new: 1.3.2-2build1 old: php5-mhash: ---------- new: 1 old: php5-mysql: ---------- new: 5.5.9+dfsg-1ubuntu4.21 old: php5-readline: ---------- new: 5.5.9+dfsg-1ubuntu4.21 old: phpapi-20121212: ---------- new: 1 old: ssl-cert: ---------- new: 1.0.33 old: Summary for minion2 ------------ Succeeded: 1 (changed = 1) Failed: 0 ------------ Total states run: 1 Total run time: 86.738 s
现在,您已经在minion2中安装了软件包。
高州
“highstate”是 Salt 确定应将哪些 Salt Formula 应用于某个 Minion 的一种方式。使用以下命令执行“highstate”。
root@saltmaster:/home/vagrant# salt <targets> state.highstate
顶部.sls
当minion请求执行highstate时,如前所述,minion向Salt master请求top.sls并搜索它匹配的公式。默认情况下,此文件位于 /srv/salt/top.sls。让我们将公式添加到 top.sls 文件中并将 minion2 设置为目标。
base: '*': - common 'minion2’: - websetup
现在,执行highstate定位 minion2,如下所示。
root@saltmaster:/home/vagrant# salt 'minion2' state.highstate
应用此后,您可以看到以下输出-
minion2: ---------- ID: common_packages Function: pkg.installed Result: True Comment: All specified packages are already installed Started: 01:55:17.998824 Duration: 461.615 ms Changes: Summary for minion2 ------------ Succeeded: 1 Failed: 0 ------------ Total states run: 1 Total run time: 461.615 ms
现在,Apache Web 服务器和 PHP 已安装在 minion2 中。这样,我们就必须使用top.sls和highstate来定位 Minion ,并以最少的工作和最大的灵活性安装所需的软件。