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

更新部署的 MongoDB 版本

本教程介绍如何使用API将 MongoDB 部署迁移到新版本的 MongoDB。 这些步骤假设您现有的部署使用4.0.6版本的 MongoDB,就像您使用教程通过 API 部署集群一样。

注意

注意:群组和项目是同义词。您的 {PROJECT-ID} 与您的项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。当引用说明时,此页面将使用“群组”这个更为人熟知的术语。终结点仍如文档中所述。

API 支持大多数 MongoDB 设置和参数,适用于 MongoDB 2.6 及更高版本。要了解更多,请参阅 MongoDB 设置和自动化支持。

警告

从 MongoDB 5.0升级到6.0

When you upgrade a sharded cluster from MongoDB 5.0 to 6.0, you must use the procedure on the Upgrade a Sharded Cluster to 6.0 page of the MongoDB Manual to refresh the cached routing table for each mongos.

API 资源使用其中的一个或多个变量。 在调用这些 API 资源之前,将这些变量替换为您所需的值。

名称
类型
说明

PUBLIC-KEY

字符串

您的 API 凭证的公共 API 密钥。

PRIVATE-KEY

字符串

您的 API 档案的私有 API 密钥 。

<OpsManagerHost>:<Port>

字符串

Ops Manager 的URL 实例。

GROUP-ID

字符串

项目设置中项目的唯一标识符。

CLUSTER-ID

字符串

集群的唯一标识符。

您必须拥有凭据才能以具有Global Owner角色的用户身份访问 Ops Manager。

1
  1. 使用AutomationConfig资源检索配置。 发出以下命令,将占位符替换为 API 资源变量,以更新 MongoDB 版本。

    curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
    --request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
    --output currentAutomationConfig.json
  2. 验证下载的自动化配置文件。

    验证 currentAutomationConfig.json 和 mms-cluster-config-backup.json 文件中的内容是否为最新。

    您可以在任何运行 MongoDB Agent 的托管上找到 mms-cluster-config-backup.json 文件,路径如下:

    • Linux 和 macOS: /var/lib/mongodb-mms-automation/mms-cluster-config-backup.json

    • Windows: %SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json

2

在后续步骤中编辑配置文档时,请参阅自动化配置的描述以了解设置的详细说明。

3

更新每个processes.version字段以指定4.4.1 :

"version": "4.4.1"
4

使用AutomationConfig资源发送更新的自动化配置。

使用更新后的配置文档的路径发出以下命令,并将占位符替换为 API 资源变量以更新 MongoDB 版本。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--header "Content-Type: application/json" \
--request PUT "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true" \
--data @currentAutomationConfig.json

成功更新配置后,API 会返回 HTTP 200 OK状态代码,以指示请求已成功。

5

从 Ops Manager 检索自动化配置并确认其中包含更改。要检索配置,请发出以下命令,用 API 资源变量替换占位符,以更新 MongoDB 版本。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationConfig?pretty=true"
6

使用AutomationStatus资源检索部署状态。 发出以下命令,将占位符替换为 API 资源变量,以更新 MongoDB 版本。

curl --user "{PUBLIC-KEY}:{PRIVATE-KEY}" --digest \
--request GET "https://<OpsManagerHost>:<Port>/api/public/v1.0/groups/{PROJECT-ID}/automationStatus?pretty=true"

确认processes数组中所有lastGoalVersionAchieved字段的值与goalVersion字段匹配。 要了解部署状态,请参阅获取最新计划的自动化状态。