在“Pillar”工作区中,可以创建并管理本地存储在 SaltStack Config 中的 pillar 数据。Pillar 是在 Salt 主节点上定义的数据结构,并使用目标传递到一个或多个工作节点。它们仅允许将机密的目标数据安全地发送到相关工作节点。Pillar 可用于限制用户对专用数据的访问。例如,可以使用 pillar 允许用户运行需要对外部服务进行身份验证的作业,而无需访问这些身份验证凭据本身。在这种情况下,您可以向用户分配给定作业和目标的访问权限,而不是包含敏感身份验证详细信息的 pillar 的访问权限。

注: 作为 VMware 移除有问题术语计划的一部分,Salt 主节点术语将在 SaltStack Config 以及相关产品和文档中替换为更贴切的术语。此术语更新可能需要几个发布周期才能完全完成。

Pillar 数据在 SaltStack Config 数据库中加密,而不是明文存储。这些数据在传输过程中加密,并且仅对在 pillar 目标设置中指定的工作节点可见。有关将 pillar 分配给目标的详细信息,请参见分配 pillar

目标是一个或多个 Salt 主节点中的一组工作节点,会对其应用作业的 Salt 命令。Salt 主节点也可以像工作节点一样进行管理,如果正在运行工作节点服务,也可以成为目标。工作节点是运行工作节点服务的节点,可以侦听 Salt 主节点发出的命令并执行请求的任务。有关详细信息,请参见工作节点

Pillar 数据可以存储在以下任一位置:

  • “Pillar”工作区中的专用 pillar
  • 作业设置
  • API (RaaS) 服务器中的其他 pillar 根目录

作业中存储的 pillar 数据不如存储在标准 pillar 中的数据安全,因为有权访问该作业的任何用户也可以查看 pillar 数据。作业用于运行远程执行任务、应用状态和启动 Salt 运行程序。有关详细信息,请参见作业

有关 Salt 中 pillar 的详细信息,请参见 Salt pillar 讲解示范

在“Pillar”工作区中,可以创建新的 pillar,并将 pillar 分配给目标。将 pillar 分配给目标时,还可以选择刷新该 pillar。

访问“Pillar”工作区

要使用“Pillar”工作区,请单击侧边菜单上的配置 > Pillar

创建支柱

要创建新 pillar,请执行以下操作:

  1. 在“Pillar”工作区中,单击创建
  2. 输入 JSON 格式的 pillar 数据,然后单击保存
注: pillar 名称不必唯一。这可能会导致在 Web 控制台中不同的项目显示相同的名称。

分配 pillar

要将 pillar 分配给特定的目标,请执行以下操作:

  1. 在“Pillar”工作区中,选择一个 pillar。

  2. 单击更新目标

  3. 在对话框中,选择要应用 pillar 的目标。

    除了选择目标外,还要选择刷新 pillar,以使该 pillar 立即可用于所选目标。

  4. 单击保存

该 pillar 数据现在可用于所选目标中的所有工作节点。

注: 也可以在“工作节点”工作区中将 pillar 分配给目标。请参见 工作节点

Pillar 和所有工作节点目标

“所有工作节点”目标为只读,无法向其分配 pillar 数据。要向所有工作节点分配 pillar 数据,请创建一个与所有工作节点 (*) 匹配的新目标。有关详细信息,请参见工作节点

值优先级

如果在多个源中定义了相同的 pillar 数据,SaltStack Config 会按照以下优先级顺序选择要应用的数据:

  1. 直接在作业上传递的值
  2. SaltStack Config 用户界面中的值(在“Pillar”工作区中)
  3. 其他 pillar 根目录中的值

可以通过在 Salt 主节点配置中调整 pillar_roots 的顺序更改此行为。

Pillar 数据格式

外部 pillar 数据必须采用 JSON 格式。当前不支持 YAML。

Pillar 依赖项

文件

在将数据传递到状态、反应器和其他类型的文件时,pillar 数据非常有用。请确保在创建或更新 pillar 数据时也更新任何相应文件中的 pillar 引用。请参见文件服务器

目标

当关联的作业在目标上运行时,会使用附加到目标的 pillar 数据。请确保在更新 pillar 数据时也刷新其关联目标上的 pillar。请参见分配 pillar