SaltStack 作业管理
Salt 具有与大量系统高速通信的能力。这种方法有助于 Salt 制作一个强大的多任务系统。 Salt 可以在多个系统上运行作业,因此 Salt 使用作业管理技术来管理在所有系统上运行的每个作业。本章详细介绍了作业管理。
什么是作业 ID?
Salt 有缓存目录,
cachedir。在其中,minions 维护的目录称为
proc 目录。它位于以下目录/var/cache/salt/proc 中。
proc 目录用于维护所有文件。执行这些文件时,它们会分配一个唯一的作业 ID。此作业 ID 有助于识别 Minion 上当前正在运行的作业并允许查找作业。
SALTUTIL 模块
Salt 引入了一个新模块,称为 Saltutil 作业管理流程。该模块包含管理作业的不同功能。这些功能ons 用于管理 minion 级别的作业。功能简述如下-
running-返回在 proc 目录中找到的所有正在运行的作业数据。
find_job-根据作业 ID 返回有关某个作业的特定数据。
signal_job-允许向给定的作业 id(jid) 发送信号。
term_job-发送指定作业的终止信号。
kill_job-发送指定作业的终止信号。
求职者
作业运行器包含使查看数据更容易、更清晰的功能。它有不同的功能。让我们详细讨论这些功能。
活动功能
Active 函数用于识别哪些作业仍在运行,并检查哪些系统已完成作业以及哪些系统仍在等待。它使用以下命令执行,
LOOKUP_JID 函数
lookup_jid 运行器将显示当前查找作业的数据。这些作业是通过主配置中的
keep_jobs 选项配置的。使用以下命令执行。
salt-run jobs.lookup_jid <job id number>
LIST_JOBS 函数
List_jobs 函数用于列出作业的作业数据。它由以下命令表示-
工作安排
调度系统公开了minions上的任何执行函数或master上的任何runner的执行。
它通过以下方法执行-
Schedule-master 或 minion config 文件中的 schedule 选项。
Minion pillar 数据-使用 saltutil.refresh_pillar 命令刷新 minion pillar 数据。
计划状态或计划模块。
salt 状态在 minion 上执行。您可以传递位置参数并在
配置文件 中提供命名参数的
YAML 字典,如下所示。
schedule:
job1:
function: saltstate.sls
seconds: 3600
args:
-httpd
kwargs:
test: true
在这里,
job1 将使用指定的参数
httpd 每小时执行函数
saltstate.sls。
test: True 是
saltstate.sls 中定义的
httpd 命令的附加参数。