Skip to content

antony@notes:~/suse$ cat "Salt-Guide-Overview.md"

Salt Guide Overview

2023-05-01· suse ·SUSE Manager

Salt Guide Overview

30 Second Understand What is Salt ?

  • 一個配置管理系統。Salt 可以確保遠端節點處於定義的狀態中。例如,它可以確保特定的 package 已安裝並確保特定的服務正在運行。
  • 一個分散式遠端執行系統,用於在遠端節點上執行命令和查詢數據。Salt 可以使用個別節點或任意節點選擇條件來查詢和執行命令。

About Salt

Salt 是一個使用 Python 構建的自動化工具和框架,可用於部署、配置和管理複雜的 IT 系統。使用 Salt 可以自動化常見的基礎設施管理任務,確保基礎架構的所有組件都處於一致的期望狀態。

Salt 有許多可能的用途,包括配置管理,其中包括:

  • 管理作業系統的部署和設定。
  • 安裝和配置軟體應用程式和服務。
  • 管理伺服器、虛擬機器、容器、資料庫、網頁伺服器、網路裝置等等。
  • 確保一致的配置並防止設定漂移。

除了配置管理之外,Salt 還可以:

  • 自動化和編排常規 IT 流程,例如定期伺服器停機所需的常見任務,或升級作業系統或應用程式。
  • 創建自我感知、自我修復的系統,可以自動響應故障、常見的管理問題或其他重要事件。

Salt in SUSE Manager Intro

Salt 是一個遠端執行引擎、設定管理和編排系統,被 SUSE Manager 用來管理客戶端。

透過 Salt,管理員可以遠端控制和操作客戶端電腦,同時也可以用 Salt 管理和配置客戶端的系統設定。此外,Salt 還提供編排功能,可以將多個任務整合成一個流程進行自動化操作,以提高工作效率和管理效能。

在 SUSE Manager 中,Salt 主控程式運行在 SUSE Manager 伺服器上,讓你可以註冊和管理 Salt 客戶端。

Salt Formulas

Formula 是一系列 Salt State 的集合,Formula 可以可靠地重現特定的配置。

有些 Formula 是由 SUSE 提供的,或者您可以從 RPM 套件或外部 git 存儲庫安裝 Formula。

Formula 最適合用於大型、複雜的配置。對於較小的任務,請使用狀態(state)而不是 Formula。Formula 和狀態都可以作為一種配置文件的形式。當您編寫並存儲配置後,它們提供了您基礎架構的快照。

Formula 數據可以使用 XMLRPC API 進行管理。

您可以使用 SUSE Manager Web UI 應用 SUSE Manager Formula。本節中記錄了最常用的 Formula。

Write Custom Salt Formulas

If you have a custom formula that is not in an RPM, it must be in a state directory configured as a Salt file root. Custom state formula data must be in:

/srv/salt/<custom-formula-name>/

Custom metadata information must be in:

/srv/formula_metadata/<custom-formula-name>/

All custom folders must contain a form.yml file. These files are detected as form recipes and are applied to groups and systems from the Web UI:

/srv/formula_metadata/<custom-formula-name>/form.yml

範例 :

# 先把大家一起開發的專案下載到 local
$ git clone git@github.com:cooloo9871/Formula-twgcb.git

# 與遠端同步
$ git pull

# 開發後上傳遠端
$ git push

# 切換工作目錄
$ cd Formula-twgcb/

# 檢視工作目錄
$ ll
total 8
drwxr-xr-x 1 root root 204 Apr 26 09:16 .git
-rwxr-xr-x 1 root root 138 Apr 26 09:15 .import.sh
-rw-r--r-- 1 root root 253 Apr 26 08:58 README.md
drwxr-xr-x 1 root root  56 Apr 26 08:58 sample
drwxr-xr-x 1 root root  96 Apr 26 08:58 TWGCB.01.008.0001
drwxr-xr-x 1 root root  72 Apr 26 09:15 TWGCB.01.008.0002
drwxr-xr-x 1 root root  96 Apr 26 09:16 TWGCB.01.008.0033

# 本地測試
## 將不同 policy 複製到 Formula 的工作目錄
$ cp -r TW* /srv/salt/
$ cp -r TW* /srv/formula_metadata/

參考文章

Deploying Operating Systems to New Devices Using SUSE Manager AutoinstallationSetup Ansible on SUSE Manager