跳至主要内容

使用 Vault 与消息拓扑 Kubernetes 运算符

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

先决条件

本指南假设您具有以下内容:

  1. 在 Kubernetes 集群中安装了 RabbitMQ 集群运算符消息拓扑运算符
  2. 在 Kubernetes 集群中安装了 Vault 服务器
  3. 必须在 Vault 中声明一个 *Vault 角色* 以供拓扑运算符使用。默认情况下,拓扑运算符将使用名为 messaging-topology-operator 的 Vault 角色。如果我们声明了一个具有不同名称的 *Vault 角色*,则必须通过覆盖环境变量 OPERATOR_VAULT_ROLE 来配置运算符
  4. RabbitMQ 的 Vault 中的密钥仅使用 KV 密钥引擎版本 2

其他配置

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

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

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

查看消息拓扑运算符的示例 vault-support,其中包含两个方便的脚本,可以帮助您完成所需的配置。

限制

  • 消息拓扑运算符将无法管理其默认用户凭据位于不同 Vault 命名空间 中的 RabbitmqClusters
© 2024 RabbitMQ. All rights reserved.