对于 AI 代理:可在 https://www.mongodb.com/zh-cn/docs/llms.txt 获取文档索引—通过在任何 URL 路径后添加 .md 可获取所有页面的 Markdown 版本。

迁移到 mck 插件命令参考

kubectl mongodb 插件的 migrate-to-mck 命令会生成将自管理部署迁移到 Kubernetes Operator 下的 Kubernetes 所需的 Kubernetes 自定义资源。它有两个子命令:mongodb(用于生成 MongoDB 资源)和 users(用于生成 MongoDBUser 资源)。

两个子命令都会在产生任何输出之前验证源自动化配置,并在遇到任何阻塞问题时以非零状态退出。两者都支持对缺失值进行交互式提示,以及当您提供所有必需标志时的完全非交互式模式。

为迁移目标生成 MongoDB 自定义资源。

标记
必需
说明

--config-map-name

是

MongoDB Ops Manager或Cloud Manager项目ConfigMap的名称。

--secret-name

是

包含 MongoDB Ops Manager 或 Cloud Manager API 密钥的 Secret 的名称。

--namespace

No

所生成资源的 Kubernetes 命名空间。默认值为 default。

-o, --output

No

用于写入生成的资源的文件路径。

--certs-secret-prefix

仅在启用 TLS 时

在生成的资源上设置 spec.security.certsSecretPrefix,并抑制对于此值的交互式提示。

--prometheus-secret-name

仅当 Prometheus 启用时

预先创建的 Secret 的名称,其中包含用于 Prometheus 抓取凭证的 password 密钥。

--resource-name-override

No

在生成的资源上设置 metadata.name。当源副本集名称不是有效的 Kubernetes 名称时,插件会自动对其进行规范化,并为您设置 spec.replicaSetNameOverride。

为迁移目标的认证用户生成 MongoDBUser 资源。

标记
必需
说明

--config-map-name

是

MongoDB Ops Manager或Cloud Manager项目ConfigMap的名称。

--secret-name

是

包含 MongoDB Ops Manager 或 Cloud Manager API 密钥的 Secret 的名称。

--namespace

No

Kubernetes 命名空间,用于生成的资源。默认值为 default。

-o, --output

No

写入生成的资源的文件路径。

--users-secrets-file

No

将 SCRAM 用户映射到 Secret 的 CSV 文件路径。每行使用形式 username:database,secret-name。如果您省略此标志,该插件会提示您输入每个用户的 Secret 名称,并将 <username>-password 作为默认值。

--resource-name-override

No

生成的 MongoDBUser 资源通过 mongodbResourceRef.name 引用的 MongoDB 资源的名称。默认为规范化的副本集名称。

注意

该插件会为 X.509 和 LDAP 用户生成 MongoDBUser 资源,对应 $external 数据库。插件跳过自动化代理用户。

在运行任一子命令之前,请创建以下 Kubernetes 对象:

  • 一个包含 ConfigMap、baseUrl、orgId 和 projectName 键的项目 。

  • 一个包含 publicKey 和 privateKey 密钥的 API 密钥 Secret。

  • 每个 SCRAM 用户一个 Secret,每个都有一个 password 密钥。

  • 如果启用了 Prometheus,则会创建一个包含 Prometheus 抓取凭证 password 密钥的 Secret。

  • 如果 TLS 已启用:

    • 一个 <resourceName>-ca ConfigMap 带有 ca-pem 密钥。

    • 一个名为 <certsSecretPrefix>-<resourceName>-cert 的 kubernetes.io/tls Secret。

  • 如果 X.509 代理身份验证已启用,名为 <certsSecretPrefix>-<resourceName>-agent-certs 的 Secret。