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.slstest: Truesaltstate.sls 中定義的 httpd 命令的其他引數。

廣告

© . All rights reserved.