SaltStack – 盐包管理器

SaltStack – 盐包管理器


Salt 公式使用包管理器打包并分发给 Salt Master。这个概念受到RPMYumPacman包装系统的影响。公式使用盐状态、支柱、文件模板等文件,然后打包成单个文件。

创建公式包后,将其复制到存储库系统以供 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 的系统上构建软件包。有三种类型的包,它们如下。

  • 公式
  • 反应堆
  • 会议

现在让我们了解如何使用公式文件构建包

公式文件

包中的大部分文件默认都在-/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

这里,

  • 名称– 包的名称。在这里,包名称是apache

  • os – 用于了解哪些操作系统可以支持此包。

  • os_family – 用于了解哪些操作系统系列可以支持此包。

  • 版本– 包的版本。它以 YYYYMM 格式指定。

  • Release – 此字段主要是指版本的发布。

  • 摘要– 包的简短描述。

  • 描述– 包的更详细描述。

反应堆

反应器文件位于/srv/spm/reactor/目录中。

配置文件

这种类型的包中的文件是 Salt 的配置文件,通常位于/etc/salt/目录中。Salt 以外的包的配置文件可以并且应该使用 Salt State(使用公式类型的包)进行处理。

让我们继续以下步骤来构建一个包。

  • 创建一个 FORMULA 文件并将其放在包文件夹的根目录中。

  • 将公式文件组装到构建系统上的文件夹中。

  • 运行spm 构建该包已构建并放置在 /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 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

请注意,如果任何文件被修改,它们将不会被删除。

觉得文章有用?

点个广告表达一下你的爱意吧 !😁