在保管库中创建密钥
将密钥存储设立 设置为 HashiCorp Vault 后 ,您还必须在 Vault 中创建密钥。这适用于手动迁移现有Kubernetes 密钥 的情况 或者您是首次创建密钥。
有关必须手动迁移到保管库的密钥列表,请参阅配置密钥存储的保管库部分。
以下教程将您的编程 API 密钥存储在 Vault 中。 您可以调整此过程中的命令,通过更改基本路径、命名空间和密钥名称将其他密钥添加到 Vault。
要了解有关密钥存储工具的更多信息,请参阅配置密钥存储。
先决条件
要在 Vault 中为 Kubernetes 操作符 创建档案,您必须:
拥有或创建MongoDB Ops Manager组织。
拥有或生成编程 API 密钥。
为这个新的编程API密钥授予项目所有者角色。
将任何为 Kubernetes Operator 提供服务的主机的 IP或CIDR区块添加到API 访问列表。
设置 Vault 实例并 启用 Vault。
步骤
要在 Vault 中创建密钥,请执行以下操作:
2
在 Vault 中创建密钥。
调用以下 Vault 命令来创建密钥,并将变量替换为表中的值:
占位符 | 说明 |
---|---|
{Namespace} | 用于标识部署 Kubernetes 操作符的命名空间的标签。 |
{SecretName} | 人类可读标签,用于标识您在保管库中创建的密钥。 |
{PublicKey} | 所需 Ops Manager 编程 API 密钥的公钥。 |
{PrivateKey} | 您所需的 Ops Manager 编程 API 密钥的私钥。 |
vault kv put secret/data/mongodbenterprise/operator/{Namespace}/{SecretName} publicKey={PublicKey} privateKey={PrivateKey} The path in this command is the default path. You can replace ``mongodbenterprise/operator`` with your base path if you customized your |k8s-op-short| configuration.
3
验证 Vault 密钥创建是否成功。
调用以下 Vault 命令来验证您的密钥,并将变量替换为下表中的值:
占位符 | 说明 |
---|---|
{Namespace} | 用于标识部署 Kubernetes 操作符的命名空间的标签。 |
{SecretName} | 人类可读标签,用于标识您在保管库中创建的密钥。 |
vault kv get secret/data/mongodbenterprise/operator/{Namespace}/{SecretName}
此命令会在 Shell 中返回密钥描述:
====== Metadata ====== Key Value --- ----- created_time 2021-12-15T17:20:22.985303Z deletion_time n/a destroyed false version 1 ======= Data ======= Key Value --- ----- publicKey {PublicKey} privateKey {PrivateKey}