- SaltStack 教程
- SaltStack - 首頁
- SaltStack - 概述
- SaltStack - 架構
- SaltStack - 競爭對手
- SaltStack - 安裝
- 建立簡單的環境
- SaltStack - 訪問控制系統
- SaltStack - 作業管理
- SaltStack - Salt 檔案伺服器
- SaltStack - Git 作為檔案伺服器
- 使用 MinionFS 作為檔案伺服器
- SaltStack - 使用 Cron 與 Salt
- 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 可以在一個以上的系統上執行作業,因此 Salt 使用作業管理技術來管理在所有系統上執行的每個作業。本章詳細介紹了作業管理。
什麼是作業 ID?
Salt 有快取目錄,cachedir。在此目錄內部,Minion 維持的目錄稱為 proc 目錄。它位於以下目錄 /var/cache/salt/proc。
proc 目錄用於維護所有檔案。當這些檔案被執行時,它們會被分配一個唯一的作業 ID。此作業 ID 有助於識別 Minion 上當前正在執行的作業,並允許查詢這些作業。
SALTUTIL 模組
Salt 引入了一個名為 Saltutil 作業管理流程的新模組。此模組包含不同的函式來管理作業。這些函式用於在 Minion 級別管理作業。這些函式簡要描述如下:
running - 返回在 proc 目錄中找到的所有正在執行的作業資料。
find_job - 根據作業 ID 返回有關特定作業的特定資料。
signal_job - 允許向給定的作業 ID (jid) 傳送訊號。
term_job - 為指定的作業傳送終止訊號。
kill_job - 為指定的作業傳送終止訊號。
作業執行器
作業執行器包含用於使檢視資料更輕鬆和更清晰的函式。它有不同的函式。讓我們詳細討論每個函式。
ACTIVE 函式
Active 函式用於識別哪些作業仍在執行,並檢查哪些系統已完成作業以及哪些系統仍在等待。它使用以下命令執行:
salt-run jobs.active
LOOKUP_JID 函式
lookup_jid 執行器將顯示當前正在檢視的作業的資料。這些作業透過主配置中的 keep_jobs 選項進行配置。它使用以下命令執行。
salt-run jobs.lookup_jid <job id number>
LIST_JOBS 函式
List_jobs 函式用於列出作業的作業資料。它由以下命令表示:
salt-run jobs.list_jobs
作業排程
排程系統公開在 Minion 上執行任何執行函式或在 Master 上執行任何執行器。
它透過以下方法執行:
排程 - Master 或 Minion 配置檔案中的排程選項。
Minion pillar 資料 - 它使用 saltutil.refresh_pillar 命令重新整理 Minion pillar 資料。
排程狀態或排程模組。
Salt 狀態在 Minion 上執行。您可以傳遞位置引數並在 配置檔案中提供命名引數的 YAML dict,如下所示。
schedule:
job1:
function: saltstate.sls
seconds: 3600
args:
- httpd
kwargs:
test: True
這裡,job1 將每小時使用指定的引數 httpd 執行函式 saltstate.sls。test: True 是 saltstate.sls 中定義的 httpd 命令的其他引數。