kubectl mongodb 插件的 migrate-to-mck 命令会生成将自管理部署迁移到 Kubernetes Operator 下的 Kubernetes 所需的 Kubernetes 自定义资源。它有两个子命令:mongodb(用于生成 MongoDB 资源)和 users(用于生成 MongoDBUser 资源)。
两个子命令都会在产生任何输出之前验证源自动化配置,并在遇到任何阻塞问题时以非零状态退出。两者都支持对缺失值进行交互式提示,以及当您提供所有必需标志时的完全非交互式模式。
kubectl mongodb migrate-to-mck mongodb
为迁移目标生成 MongoDB 自定义资源。
标记 | 必需 | 说明 |
|---|---|---|
| 是 | MongoDB Ops Manager或Cloud Manager项目 |
| 是 | 包含 MongoDB Ops Manager 或 Cloud Manager API 密钥的 |
| No | 所生成资源的 Kubernetes 命名空间。默认值为 |
| No | 用于写入生成的资源的文件路径。 |
| 仅在启用 TLS 时 | 在生成的资源上设置 |
| 仅当 Prometheus 启用时 | 预先创建的 |
| No | 在生成的资源上设置 |
kubectl mongodb migrate-to-mck users
为迁移目标的认证用户生成 MongoDBUser 资源。
标记 | 必需 | 说明 |
|---|---|---|
| 是 | MongoDB Ops Manager或Cloud Manager项目 |
| 是 | 包含 MongoDB Ops Manager 或 Cloud Manager API 密钥的 |
| No | Kubernetes 命名空间,用于生成的资源。默认值为 |
| No | 写入生成的资源的文件路径。 |
| No | 将 SCRAM 用户映射到 |
| No | 生成的 |
注意
该插件会为 X.509 和 LDAP 用户生成 MongoDBUser 资源,对应 $external 数据库。插件跳过自动化代理用户。
预创建要求
在运行任一子命令之前,请创建以下 Kubernetes 对象:
一个包含
ConfigMap、baseUrl、orgId和projectName键的项目 。一个包含
publicKey和privateKey密钥的 API 密钥Secret。每个 SCRAM 用户一个
Secret,每个都有一个password密钥。如果启用了 Prometheus,则会创建一个包含 Prometheus 抓取凭证
password密钥的Secret。如果 TLS 已启用:
一个
<resourceName>-caConfigMap带有ca-pem密钥。一个名为
<certsSecretPrefix>-<resourceName>-cert的kubernetes.io/tlsSecret。
如果 X.509 代理身份验证已启用,名为
<certsSecretPrefix>-<resourceName>-agent-certs的Secret。