可能想要使用 SaltStack Config 的其中一個主要原因是,改進系統的組態管理。可以在 SaltStack Config 中使用工作,簡化並自動執行您或您的團隊定期執行的一般工作和程序。使用工作進行組態管理可減少您的團隊在系統中手動安裝、設定、監控和維護節點所花的時間。同時,還可以確保您的系統始終保持一致的所需狀態。

建立和執行工作的程序包含多個步驟,需要在 SaltStack Config 中使用一些不同的工具和工作區。下圖概述了整體工作流程:


以流程圖形式說明工作流程的圖表

以下章節說明了各個步驟:

建立目標

需要先建立和定義目標,然後才能開始執行工作。目標是指一或多個 Salt 控制器中的一組部屬節點,將為其套用工作的 Salt 命令。Salt 控制器也可以像部屬節點一樣進行管理,如果正在執行部屬節點服務,也可以成為目標。換句話說,目標確定了將在哪些節點上執行工作。可以使用簡單的部屬節點清單建立目標,也可以根據部屬節點的基本內容 (例如其作業系統或伺服器類型) 建立更複雜的目標。

您將使用 [部屬節點] 工作區建立目標。如需詳細資訊,請參閱〈部屬節點〉

建立工作

若要執行工作,則必須先建立工作。工作用於執行遠端執行工作、套用狀態和啟動 Salt 執行器。換句話說,工作確定了應向目標節點套用哪些任務、程序或狀態檔案。

雖然您每次需要執行特定任務時僅可以針對部屬節點執行命令,但是最好建立一個工作來記錄需要套用至部屬節點的具體程序或狀態。工作可確保您一致地套用程序,並儲存這些程序以供日後重複使用。

建立工作時,可以將目標保持未定義,以便稍後執行工作時可以套用此目標。

您將使用 [工作] 工作區建立工作。如需詳細資訊,請參閱〈工作〉

定義角色

為了維護系統的安全性,您的團隊應只能存取其有權存取的特定節點或工作。此方法通常稱為角色型存取控制 (RBAC)。RBAC 表示應根據個人在團隊中的角色來限制對資源的存取。只能為團隊成員提供履行工作責任所需的資源存取權。

可以在 SaltStack Config 中以原生方式定義角色和權限,也可以將目標和工作的存取權對應至組織的 RBAC 系統,例如以 LDAP 為基礎的系統 (如 Active Directory) 或以 SAML 為基礎的系統 (如 Google)。

如需詳細資訊,請參閱:

執行工作

執行工作之前,必須對工作進行以下定義:

  • 目標
  • 函數 (需要執行的命令或需要套用的狀態)
  • 權限 (可以針對目標執行工作的人員)

定義這些設定後,可以定期執行工作,也可以僅在需要時執行工作。通常,僅在需要時執行的工作稱為臨機工作。

建立排程

可以將工作排程為在特定時間 (例如排定的維護時段) 執行或按照定期重複間隔執行。

您將使用 [排程] 工作區建立排程。如需詳細資訊,請參閱〈排程〉

執行臨機工作

可以使用 [部屬節點] 工作區或 [工作] 工作區執行臨機工作。

如需詳細資訊,請參閱:

檢閱工作狀態和輸出

當工作執行時或工作完成後,可以使用 [活動] 工作區檢閱工作的狀態和詳細輸出。如需詳細資訊,請參閱〈活動〉