跳到主要内容

将 Vault 与消息拓扑 Kubernetes Operator 一起使用

如果由消息拓扑 Operator 管理的 RabbitmqClusters 配置为将其默认用户凭据存储在 Vault 中,则可能需要为拓扑 Operator 配置一些额外的 Vault 相关设置。

先决条件

本指南假定您具备以下条件

  1. RabbitMQ 集群 Operator 和消息拓扑 Operator 已安装在 Kubernetes 集群上
  2. Vault 服务器已安装在 Kubernetes 集群上
  3. 必须在 Vault 中为拓扑 operator 声明一个 Vault 角色供其使用。默认情况下,拓扑 operator 将使用名为 messaging-topology-operator 的 vault 角色。如果我们声明了具有不同名称的 Vault 角色,我们必须通过覆盖环境变量 OPERATOR_VAULT_ROLE 来配置 operator
  4. RabbitMQ 在 Vault 中的密钥仅使用 KV secrets engine version 2

其他配置

为了使 RabbitMQ 消息拓扑 operator 能够向 Vault 服务器进行身份验证并访问 RabbitMQ 集群默认用户凭据,必须将 operator 容器的 VAULT_ADDR 环境变量设置为 Vault 服务器 API 的 URL。

如果默认值不适用,则可以有选择地设置以下环境变量。

  • OPERATOR_VAULT_ROLE 用于访问凭据时使用的 Vault 角色的名称。默认为 messaging-topology-operator
  • OPERATOR_VAULT_NAMESPACE 消息拓扑 operator 进行身份验证时要使用的 Vault 命名空间。如果未设置,则假定为默认 Vault 命名空间。Vault Namespaces 是 Vault Enterprise 中的一组功能,允许 Vault 环境在单个 Vault 基础设施中支持安全多租户 (SMT)。拓扑 operator 假定所有默认用户凭据存储在 Vault 中的 RabbitmqClusters 都属于同一 Vault 命名空间或租户。默认命名空间为空白命名空间。
  • OPERATOR_VAULT_AUTH_PATH operator 在向 Vault 进行身份验证时应使用的身份验证路径。默认行为是使用 auth/kubernetes 路径

查看消息拓扑 Operator 的 vault-support 示例,您可以在其中找到两个方便的脚本,引导您完成所需的配置。

局限性

  • 消息拓扑 Operator 将无法管理默认用户凭据位于不同 Vault Namespaces 中的 RabbitmqClusters
© . All rights reserved.