SaltStack - Salt 包管理器



Salt 公式被打包並使用包管理器分發到 Salt master。這個概念受到RPMYumPacman打包系統的啟發。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

請注意,如果任何檔案已被修改,則不會刪除它們。

廣告