您可能希望使用 SaltStack Config 的主要原因之一是改进系统的配置管理。您可以在 SaltStack Config 中使用作业简化和自动化您或您的团队定期执行的常见任务和过程。使用作业进行配置管理可以缩短您的团队在系统中手动安装、配置、监控和维护节点所需的时间。此外,还确保系统始终处于一致的所需状态。

创建和运行作业是一个多步骤过程,需要在 SaltStack Config 中使用一些不同的工具和工作区。下图概述了整个作业工作流:


以流程图形式说明作业工作流的图表

以下部分介绍了每个步骤:

创建目标

在开始运行作业之前,需要创建和定义目标。目标是一个或多个 Salt 控制器中的一组工作节点,会对其应用作业的 Salt 命令。Salt 控制器也可以像工作节点一样进行管理,如果正在运行工作节点服务,也可以成为目标。换句话说,目标确定作业将在哪些节点上运行。可以使用简单的工作节点列表创建目标,也可以根据工作节点的基本属性(如其操作系统或服务器类型)创建更复杂的目标。

将使用“工作节点”工作区创建目标。有关详细信息,请参见工作节点

创建作业

要运行作业,必须先创建一个作业。作业用于运行远程执行任务、应用状态和启动 Salt 运行程序。换句话说,作业确定应对目标节点应用哪些任务、进程或状态文件。

虽然您每次需要执行特定任务时只需针对工作节点运行命令,但最好创建一个作业以记录需要应用于工作节点的确切进程或状态。作业可确保一致地应用过程,并保存这些过程以供将来重用。

创建作业时,可以将目标保留为未定义,以便以后运行该作业时可以应用目标。

将使用“作业”工作区创建作业。有关详细信息,请参见作业

定义角色

为维护系统的安全性,您的团队应该只能访问他们有权访问的特定节点或作业。此方法通常称为基于角色的访问控制 (RBAC)。RBAC 表示应根据团队中个人的角色限制对资源的访问。应仅允许团队成员访问他们履行工作职责所需的资源。

您可以在 SaltStack Config 中本地定义角色和权限,也可以将目标和作业的访问权限映射到组织的 RBAC 系统,例如基于 LDAP 的系统(如 Active Directory)或基于 SAML 的系统(如 Google)。

有关详细信息,请参见:

运行作业

在运行作业之前,需要定义作业的以下内容:

  • 目标
  • 函数(需要运行的命令或需要应用的状态)
  • 权限(可针对目标运行作业的人员)

定义这些设置后,可以定期运行作业,也可以只在需要时才运行作业。通常,仅在需要时运行的作业称为临时作业。

创建调度

可以调度作业在特定的时间(如调度的维护时段)或按定期重复的时间间隔运行。

将使用“调度”工作区创建调度。有关详细信息,请参见调度

运行临时作业

可以使用“工作节点”工作区或“作业”工作区运行临时作业。

有关详细信息,请参见:

查看作业状态和输出

作业正在运行时或完成后,可以使用“活动”工作区查看作业的状态和详细输出。有关详细信息,请参见活动