- 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 命令的其他参数。