工作用於執行遠端執行工作、套用狀態和啟動 Salt 執行器。可以在 [工作] 工作區中建立、設定和儲存工作設定以供重複使用。工作通常適用於需要多次自動化和執行的系統作業,從而節省設定時間。
例如,您可能有一項工作,即建立和部署虛擬機器並安裝一組基本應用程式。每次需要部署新的虛擬機器時都可以執行此工作,以確保將一組相同的應用程式和組態套用至每個部署。
如需大致瞭解如何將 [工作] 工作區與 SaltStack Config 中的其他工作區搭配使用以建立和使用工作進行組態管理,請參閱〈SaltStack Config 工作流程〉。
可以從 [工作] 工作區、[部屬節點] 工作區或 SaltStack Config 使用者介面的其他畫面中執行工作,具體取決於工作的特性。此外,還可以定期執行工作,也可以僅在需要時執行工作。通常,僅在需要時執行的工作稱為臨機工作。
如需有關執行工作的詳細資訊,請參閱:
工作需求
[工作] 工作區中的每項工作都有預先定義的設定。您可以編輯現有工作的相關設定,也可以使用自己的唯一設定建立新工作。
為了使工作能夠執行,則必須包括:
- 函數 (工作要完成的任務)
- 目標、一個 Salt 主節點或多個 Salt 主節點
- 以角色為基礎的權限
可以在工作設定中定義目標,也可以將目標保持未定義,以便在每次執行工作時選取目標。定義工作目標還會防止此工作在不應執行該工作的節點上執行。如需詳細資訊,請參閱〈部屬節點〉。
透過 [工作] 工作區,可以定義對每個工作的角色型存取權。除了定義對工作的角色存取權外,還必須指派角色權限以在角色編輯器中執行相應的工作。如需詳細資訊,請參閱〈角色和權限〉。
可以在 [工作] 工作區中建立新工作和編輯現有工作。定義工作設定後,您可以執行臨機工作,也可以建立排程以在未來執行工作。如需詳細資訊,請參閱〈排程〉。
SaltStack Config 包括執行命令控制,可讓您執行單一命令而無需定義可重複使用的工作。這有助於快速執行命令,或執行不屬於日常工作流程一部分的一次性工作,例如疑難排解時或初始設定期間。如需詳細資訊,請參閱〈執行命令〉。
此外,還可以定義哪些角色能檢視、編輯、執行和刪除不同的工作。
存取 [工作] 工作區
若要使用 [工作] 工作區,請按一下側邊功能表上的組態 > 工作。
建立工作
建立新工作:
- 在 [工作] 工作區中,按一下建立工作。
- 輸入新工作的詳細資料。輸入的詳細資料取決於您要建立的工作類型。如需詳細資訊,請參閱工作設定。
- 按一下儲存。工作現在可以執行。
執行工作
執行臨機工作:
- 在 [工作] 工作區中,按一下要執行的工作旁邊的功能表 。
- 按一下立即執行。
- 在快顯視窗中,選取要執行工作的目標。
備註: 如果工作已設定為包括目標或 Salt 主節點,系統會顯示此項以進行確認。
- 可以根據需要選取其他選項。
- 設定通知喜好設定
- 選取 [作為測試執行] (試執行),以根據需要作為測試執行工作。
- 按一下立即執行。
備註: 也可以從 [部屬節點] 工作區執行工作。請參閱 〈部屬節點〉。
搜尋工作
若要檢視迄今為止已建立的可用工作的清單,請存取 [工作] 工作區。
依預設,一個頁面上一次僅顯示 20 項工作。若要檢視更多工作,請按一下工作資料表底部的每頁項目數功能表,然後選取您要檢視的所需工作數目。
尋找特定工作:
- 在 [工作] 工作區中,按一下要搜尋之資料行所對應的篩選器按鈕 。
- 開始輸入搜尋準則,以立即查看篩選出的資料列。例如,可以透過篩選函數資料行,依工作中所涉及的 Salt 模組搜尋工作。
備註: 也可以按一下任何資料行名稱,以遞減順序對資料列進行排序。再次按一下即可顛倒順序。如需有關篩選的詳細資訊,請參閱 對資料表資料行進行篩選和排序。
對資料表資料行進行篩選和排序
可以透過選取每個資料行的篩選器圖示 並選取或輸入篩選準則來篩選每個資料行。若要清除篩選器,請按一下工作資料表上方的清除篩選器按鈕。
也可以透過選取資料行名稱對資料行進行排序。若要自訂在資料表中顯示哪些資料行,請按一下資料表左下角的顯示資料行按鈕 。
檢視工作傳回資料
檢視工作傳回資料:
- 在側邊功能表中,依序按一下活動和已完成,以查看已完成工作的清單。
- 在 JID 資料行中選取工作識別碼,以檢視工作傳回詳細資料。如需詳細資訊,請參閱〈工作傳回資料〉。
編輯工作
更新或變更工作:
- 在 [工作] 工作區中,選取工作。
- 視需要編輯工作詳細資料,然後在完成時按一下儲存。
定義工作權限
身為管理員,您可以限制哪些使用者可以執行特定工作。定義這些權限:
- 在 [工作] 工作區中,選取工作以開啟該工作的詳細資料。
- 在工作詳細資料頁面中,按一下角色存取權。
- 在對話方塊中,選取要針對不同角色啟用的存取層級,然後按一下儲存。
- 在工作詳細資料頁面中,按一下儲存。
備註: 除了定義對工作的角色存取權外,還必須指派角色權限以在角色編輯器中執行相應的工作。如需詳細資訊,請參閱 〈角色和權限〉。
工作設定
根據下列選項定義工作設定。
- 名稱 - 輸入工作的名稱。這將顯示在 [工作]、[部屬節點] 和 [活動] 工作區以及角色編輯器中。
- 說明 - 輸入工作的說明 (可選)。此說明將顯示在 [工作] 工作區的工作清單中。
- 命令 - 指定要執行的命令,從以下內容進行選擇:
-
salt
- 定義要在目標部屬節點群組上執行的工作。 -
salt-run
- 定義要在一個 Salt 主節點或一組 Salt 主節點上執行的工作。
備註: SaltStack Config 包括執行命令控制,可讓您執行單一命令而無需定義可重複使用的工作。這有助於快速執行命令,或執行不屬於日常工作流程一部分的一次性工作,例如疑難排解時或初始設定期間。如需詳細資訊,請參閱 〈執行命令〉。 -
- 目標 - 目標是指一或多個 Salt 主節點中的一組部屬節點,將為其套用工作的 Salt 命令。Salt 主節點也可以像部屬節點一樣進行管理,如果正在執行部屬節點服務,也可以成為目標。在命令中選取
salt
後,可以選擇性地指定要執行工作的目標部屬節點群組。如果將此欄位保留空白,則每次工作執行時,系統都會提示您選取目標。 - 所有主節點 - Salt 主節點是用於向部屬節點發出命令的中央節點。在命令中選取
salt-run
後,可以指定應對其執行工作的 Salt 主節點。依預設,會選取所有主節點。如果關閉此選項,則會顯示主節點功能表。salt-run
工作也稱為 Salt 執行器。Salt 執行器是用於在 Salt 主節點上執行便利函數的模組。如需有關使用salt-run
的詳細資訊,請參閱工作設定。 - Salt 主節點 - 在命令中選取
salt-run
後,並且所有主節點處於關閉狀態時,將會顯示主節點功能表。按一下此功能表,然後選取要對其執行工作的特定 Salt 主節點。如果需要,可以選取多個 Salt 主節點。 - 函數 - 輸入函數以定義工作執行時發生的情況。可以定義單一遠端執行工作、狀態檔案工作或 Salt 執行器工作。如需 Salt 函數的清單,請參閱 Salt 模組參考。
- 單一遠端執行工作 - 若要定義單一遠端執行工作,請在工作設定中包括一個函數和任何必要的引數。
- 狀態檔案工作 - 狀態檔案工作會向目標套用狀態,並且以至少一個命令為基礎。狀態函數是狀態模組內包含的一種函數,可以管理對系統套用特定狀態的情況。狀態函數會頻繁呼叫一或多個執行模組,以執行指定的工作。highstate 會套用在 top 檔案中定義的所有狀態。可以在檔案伺服器中檢視和新增狀態檔案。請參閱〈檔案伺服器〉。
若要將狀態檔案套用至工作,請使用
state.apply
函數。若要執行 highstate,請在工作設定中使用state.apply
或state.highstate
函數。將狀態呼叫新增至工作時會顯示其他欄位,您可以在其中選取要套用的狀態檔案。也可以 JSON 格式傳遞可選 pillar 覆寫。
備註: 工作頁面上提供的 pillar 資料隨工作一起傳送,並且其他已驗證的部屬節點可能會看到該資料。為了增強資料保護,請改為在標準 pillar 中指派機密資料。請參閱 Pillar。如需有關 Salt 狀態的詳細資訊,請參閱 Salt 說明文件:如何使用 Salt 狀態?。
- Salt 執行器 -
salt-run
工作將套用至一個 Salt 主節點或一組 Salt 主節點。salt-run
工作也稱為 Salt 執行器。Salt 執行器是用於在 Salt 主節點上執行便利函數的模組。可以使用 Salt 執行器執行協調、遠端支援部屬節點、呼叫 webhook 等。它們對於集中執行工作或從一個中心起點執行工作非常有用。例如,可以將 highstate 套用至與指定 Salt 主節點相關聯的所有部屬節點。若要設定協調執行器工作,請使用
state.orchestrate
函數。將協調呼叫新增至工作時會顯示其他欄位,您可以在其中列出要套用的協調檔案。也可以 JSON 格式傳遞可選 pillar 覆寫。備註: 工作頁面上提供的 pillar 資料隨工作一起傳送,並且其他已驗證的部屬節點可能會看到該資料。為了增強資料保護,請改為在標準 pillar 中指派機密資料。請參閱 Pillar。如需有關 Salt 執行器的詳細資訊,請參閱 Salt 執行器參考。
- 環境 - 選取狀態檔案或協調檔案所在的環境。這是檔案伺服器中根目錄的子目錄。請參閱〈檔案伺服器〉。
- 測試 (試執行) - 執行測試工作並產生模擬工作傳回。如果選取測試,該工作將不會執行,並且不會進行任何變更。如果此選項保持未選取狀態,可以稍後在執行工作時選擇將工作作為測試執行。測試 (試執行) 僅適用於某些函數。如需詳細資訊,請連絡管理員。