更新部署的 MongoDB 版本
本教程介绍如何使用 API将MongoDB 部署迁移到新版本的MongoDB。 这些步骤假设您现有的部署使用 4.0.6
版本的MongoDB,就像您使用教程通过API部署集群一样。
注意
注意:群组和项目是同义词。您的 {PROJECT-ID}
与您的项目 ID 相同。对于现有群组,群组/项目 ID 保持不变。当引用说明时,此页面将使用“群组”这个更为人熟知的术语。端点仍如文档中所述。
Considerations
API支持 MongoDB 2.6 及更高版本的大多数 MongoDB 设置和参数。 要了解更多信息,请参阅MongoDB 设置和自动化支持。
警告
从 MongoDB 5.0升级到6.0
当您将分片集群从 MongoDB 5.0升级到6.0时,您必须使用 MongoDB 手册的将分片集群升级到6.0页面上的程序为每个mongos
刷新缓存的路由表。 。
用于更新 MongoDB 版本的 API 资源变量
API 资源使用其中的一个或多个变量。 在调用这些 API 资源之前,将这些变量替换为您所需的值。
先决条件
您必须拥有凭据才能以具有Global Owner
角色的用户身份访问 Ops Manager。
步骤
从 Ops Manager 检索自动化配置。
使用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 验证下载的自动化配置文件。
将
currentAutomationConfig.json
的version
字段与自动化配置备份文件mms-cluster-config-backup.json
进行比较。version
值是两个JSON文档中的最后一个元素。 您可以在任何运行 MongoDB Agent 的主机上找到此文件,网址为:Linux 和 macOS:
/var/lib/mongodb-mms-automation/mms-cluster-config-backup.json
Windows:
%SystemDrive%\MMSAutomation\versions\mms-cluster-config-backup.json
如果
version
值匹配,则您正在使用当前版本的自动化配置文件。
打开配置文档进行编辑。
在后续步骤中编辑配置文档时,请参阅自动化配置的描述以了解设置的详细说明。
发送更新的自动化配置。
使用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
状态代码,以指示请求已成功。
检查部署状态以确保达到目标状态。
使用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
字段匹配。 要了解部署状态,请参阅获取最新计划的自动化状态。