
- 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
請注意,如果任何檔案已被修改,則不會刪除它們。