- SaltStack 教程
- SaltStack - 首页
- SaltStack - 概述
- SaltStack - 架构
- SaltStack - 竞争对手
- SaltStack - 安装
- 创建简单的环境
- SaltStack - 访问控制系统
- SaltStack - 作业管理
- SaltStack - Salt 文件服务器
- SaltStack - 使用 Git 作为文件服务器
- 使用 MinionFS 作为文件服务器
- SaltStack - 使用 Salt 与 Cron
- SaltStack - 远程执行
- 配置管理
- SaltStack - 日志记录
- SaltStack - 通过 SSH 使用 Salt
- Salt 用于云基础设施
- SaltStack - Salt 代理 Minion
- SaltStack - 事件系统
- SaltStack - 编排
- SaltStack - Salt 包管理器
- SaltStack - Python API
- SaltStack - 工作示例
- SaltStack 有用资源
- SaltStack - 快速指南
- SaltStack - 有用资源
- SaltStack - 讨论
SaltStack - Salt 包管理器
Salt 公式被打包并使用包管理器分发到 Salt master。这个概念受到RPM、Yum和Pacman打包系统的启发。Salt 状态、pillar、文件模板和其他文件由公式使用,然后打包成单个文件。
创建公式包后,将其复制到存储库系统以供 Salt master 使用。在转向包管理器之前,让我们看一下如何使用 Salt 基本命令安装“nginx”包。
安装“nginx”包使用以下语法:
root@saltmaster:/home/vagrant# salt '*' pkg.install nginx
这里,pkg.install nginx 命令用于安装包。执行后,您将看到以下响应。
它将产生以下输出:
minion2: ---------- httpd: ---------- new: 1 old: httpd-cgi: ---------- new: 1 old: libxslt1.1: ---------- new: 1.1.28-2build1 old: nginx: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-common: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-core: ---------- new: 1.4.6-1ubuntu3.7 old: minion1: ---------- httpd: ---------- new: 1 old: httpd-cgi: ---------- new: 1 old: libxslt1.1: ---------- new: 1.1.28-2build1 old: nginx: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-common: ---------- new: 1.4.6-1ubuntu3.7 old: nginx-core: ---------- new: 1.4.6-1ubuntu3.7 old:
现在,您已经安装了一个包。要启动该包的服务,请使用以下命令。
root@saltmaster:/home/vagrant# salt '*' service.start nginx
运行此命令后,结果如下面的代码块所示。
minion1: True minion2: True
因此,我们已经使用基本命令安装并启动了“nginx”包的服务。现在让我们讨论如何在 Salt 包管理器中构建和安装包。
构建包
可以在任何可以安装 Salt 的系统上构建包。共有三种类型的包,如下所示:
- 公式 (Formula)
- 反应器 (Reactor)
- 配置 (Conf)
现在让我们了解如何使用公式 (Formula)文件构建包。
公式 (Formula) 文件
包中的大多数文件默认位于 – /srv/spm/salt/ 目录下,但 pillar 文件可以放在 – /srv/spm/pillar/ 目录下。公式文件描述了包。
示例
name: apache os: RedHat os_family: RedHat version: 201607 release: 2 summary: Formula for installing Apache description: Formula for installing Apache
这里:
名称 (Name) - 包的名称。这里的包名为apache。
操作系统 (os) - 用于了解哪些操作系统支持此包。
操作系统系列 (os_family) - 用于了解哪些操作系统系列支持此包。
版本 (Version) - 包的版本。以 YYYYMM 格式指定。
发行版 (Release) - 此字段主要指版本的发布。
摘要 (Summary) - 包的简短描述。
描述 (Description) - 包的更详细描述。
反应器 (REACTOR)
反应器文件位于/srv/spm/reactor/目录中。
配置 (CONF)
此类型包中的文件是 Salt 的配置文件,通常位于/etc/salt/目录中。Salt 以外的包的配置文件可以使用 Salt 状态(使用公式类型的包)来处理。
让我们继续执行以下步骤来构建包:
创建一个 FORMULA 文件并将其放在包文件夹的根目录下。
在构建系统上的文件夹中组装公式文件。
运行spm build。包已构建并放置在 /srv/spm_build 文件夹中。使用以下命令构建包:
spm build /path/to/salt-packages-source/formula
现在,将.spm文件复制到存储库系统上的文件夹中。
您可以共享网络上的srv/spm_build文件夹,或将文件复制到您的 FTP 或 Web 服务器。
使用以下命令生成存储库元数据:
spm create_repo /srv/spm_build
安装包
本节介绍如何安装 Salt 包管理器包。
配置远程存储库
要配置远程存储库,Salt Master 需要通过配置过程知道存储库的位置。
文件位于/etc/salt/spm.repos.d/spm.repo目录中。
示例
file_repository: url: https://spm.example.com/
这里,文件包含存储库的名称和存储库的链接。您还可以使用 http、https、ftp 或文件路径。要使用文件路径,您可以使用 URL:file:///srv/spm_build 访问它。
更新元数据
在 Salt master 上配置存储库后,使用以下命令下载存储库元数据:
spm update_repo
更新文件根目录
SPM 包位于 srv/spm/salt 目录中。将以下路径添加到 Salt master 上的文件根目录中:
file_roots: base: 1. /srv/salt 2. /srv/spm/salt
现在,重新启动 salt master。
安装 Apache 包
要安装 apache 包,请使用以下命令:
spm install apache
您也可以使用以下命令直接从 SPM 文件安装:
spm local install /srv/spm/apache-201607-1.spm
删除包
要删除包,例如 – apache,请使用以下命令:
spm remove apache
请注意,如果任何文件已被修改,则不会删除它们。