为 Kubernetes 操作符 创建档案
API为了使Kubernetes KubernetesOperator Cloud ManagerMongoDB Ops Manager在Cloud Manager或MongoDB Ops Manager项目中创建或更新 对象 ,您需要将编程API密钥存储在 密钥存储工具中。
同一个命名空间中可以存在多个密钥。 每个用户都应该有自己的密钥。
您可以按照以下 步骤 手动将 编程 API 密钥 存储为 Kubernetes 密钥 。或者,您可以:
使用MongoDB Cloud Manager用户界面或MongoDB Ops Manager用户界面自动生成Kubernetes密钥 YAML 文件,然后您可以将其应用到Kubernetes环境。
使用“ 创建 Vault 密钥”过程,将 编程 API 密钥 存储为 Vault 密钥。要使用 Vault,还必须配置密钥存储。
先决条件
要为 Kubernetes 操作符 创建档案,您必须:
拥有或创建MongoDB Ops Manager组织。
拥有或生成编程 API 密钥。
授予此新的编程 API 密钥:
组织所有者或
Global Owner
角色(如果您希望 Kubernetes Operator 创建并管理项目)。项目所有者角色(如果您希望 Kubernetes Operator 仅管理项目)。
注意
您必须向编程 API 密钥授予组织所有者或
Global Owner
角色。 如果您只想向编程 API 密钥授予“项目所有者”角色,则必须首先创建项目,然后为具有“项目所有者”角色的项目创建“编程 API 密钥”。 如果编程 API 密钥仅具有项目所有者角色,则 Kubernetes Operator 无法创建项目。将任何为 Kubernetes Operator 提供服务的主机的 IP或CIDR区块添加到API 访问列表。
步骤
要创建 Kubernetes 密钥,请执行以下操作:
创建新的 Kubernetes 密钥
确保您拥有所需 Ops Manager 编程 API 密钥的公钥和私钥。
调用以下 Kubernetes 命令来创建密钥:
kubectl -n <metadata.namespace> \ create secret generic <mycredentials> \ --from-literal="publicKey=<publicKey>" \ --from-literal="privateKey=<privateKey>" -n
标志限制了 命名空间 此密钥适用的对象。所有 MongoDB Kubernetes 资源必须与 密钥 存在于同一命名空间中 和 ConfigMap 。Kubernetes Operator 不使用密钥或 ConfigMap。注意
此命令的已弃用版本会指定
user
和publicApiKey
,而不是publicKey
和privateKey
。 Kubernetes 操作符接受任一版本的身份验证。