SaltStack Salt包管理器
Salt 公式使用包管理器打包并分发给 Salt Master。这个概念受到
RPM、
Yum 和
Pacman 包装系统的影响。公式使用Salt态、支柱、文件模板等文件,然后打包成单个文件。
创建公式包后,将其复制到存储库系统以供 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 的系统上构建软件包。一共有三种类型的包,它们如下所示。
公式
反应堆
会议
现在让我们了解如何使用
Fomula 文件构建包。
公式文件
包中的大部分文件默认都在-/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-包的简短描述。
描述-包的更详细描述。
反应器
反应器文件位于
/srv/spm/reactor/ 目录中。
配置
此类包中的文件是 Salt 的配置文件,通常位于
/etc/salt/ 目录中。 Salt 以外的包的配置文件可以并且应该使用 Salt State(使用公式类型的包)来处理。
让我们继续以下步骤来构建一个包。
创建一个 FORMULA 文件并将其放在包文件夹的根目录中。
在构建系统的文件夹中组装公式文件。
运行 spm build。该包已构建并放置在/srv/spm_build 文件夹中。以下命令用于构建包。
spm build /path/to/salt-packages-source/formula
现在,将 .spm 文件复制到存储库系统上的文件夹中。
您可以在网络上共享 srv/spm_build 文件夹,或者将文件复制到您的 FTP 或 Web 服务器。
使用以下命令生成 repo 元数据。
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 软件包位于 srv/spm/salt 目录中。在 Salt Master 上的文件根目录中添加以下路径,
file_roots:
base:
1. /srv/salt
2. /srv/spm/salt
现在,重启salt master。
安装 Apache 包
要安装软件包 apache,请使用以下命令。
您也可以使用以下命令直接从 SPM 文件安装。
spm local install /srv/spm/apache-201607-1.spm
删除包
要删除一个包,例如 – apache,请使用以下命令,
请注意,如果任何文件被修改,它们将不会被删除。