Saltstack-job-management
SaltStack-ジョブ管理
Saltには、多数のシステムとの高速通信機能があります。 このアプローチにより、Saltは強力なマルチタスクシステムを作成できます。 Saltは複数のシステムでジョブを実行できるため、Saltはジョブ管理手法を使用して、すべてのシステムで実行されている各ジョブを管理します。 この章では、ジョブ管理について詳しく説明します。
ジョブIDとは何ですか?
Saltにはキャッシュディレクトリ cachedir があります。 この中で、ミニオンが維持するディレクトリは proc ディレクトリと呼ばれます。 次のディレクトリ/var/cache/salt/procにあります。
procディレクトリは、すべてのファイルを維持するために使用されます。 これらのファイルが実行されると、一意のジョブIDが割り当てられます。 このジョブIDは、ミニオンで現在実行中のジョブを識別し、ジョブを検索できるようにします。
SALTUTILモジュール
Saltは、Saltutilジョブ管理プロセスと呼ばれる新しいモジュールを導入しています。 このモジュールには、ジョブを管理するためのさまざまな機能が含まれています。 これらの関数は、ミニオンレベルでジョブを管理するために使用されます。 機能は次のように簡単に説明されています-
- running -procディレクトリにあるすべての実行中のジョブデータを返します。
- find_job -ジョブIDに基づいて特定のジョブに関する特定のデータを返します。
- signal_job -与えられたジョブid(jid)にシグナルを送信することを許可します。
- term_job -指定されたジョブの終了信号を送信します。
- kill_job -指定されたジョブのキル信号を送信します。
ジョブランナー
Job Runnerには、データの表示をより簡単かつ明確にする機能が含まれています。 さまざまな機能があります。 これらの各機能について詳しく説明します。
アクティブ機能
アクティブ機能は、どのジョブがまだ実行中であるかを特定し、どのシステムがジョブを完了し、どのシステムがまだ待機中であるかを確認するために使用されます。 次のコマンドを使用して実行されます。
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
ジョブスケジューリング
スケジュールシステムは、ミニオンの実行機能またはマスターのランナーの実行を公開します。
それは次の方法で実行されます-
- スケジュール-マスターまたはミニオンの config ファイルのスケジュールオプション。
- ミニオンの柱データ-saltutil.refresh_pillarコマンドを使用して、ミニオンの柱データを更新します。
- スケジュール状態またはスケジュールモジュール。
塩の状態はミニオンで実行されます。 以下に示すように、位置引数を渡し、* configファイル*で名前付き引数の YAML dict を提供できます。
schedule:
job1:
function: saltstate.sls
seconds: 3600
args:
- httpd
kwargs:
test: True
ここで、 job1 は、指定された引数 httpd を使用して1時間ごとに関数 saltstate.sls を実行します。 test:True は、 saltstate.sls で定義されている httpd コマンドの追加の引数です。