如需将单租户虚拟机迁移到其他节点或节点组,您可以手动启动实时迁移。您也可以手动启动实时迁移,以将多租户虚拟机迁移到单独租用节点。如需了解如何将虚拟机迁移出单独租用节点,请参阅将虚拟机迁移出单独租用节点。
准备工作
-
如果您尚未设置身份验证,请进行设置。身份验证是通过其进行身份验证以访问 Google Cloud 服务和 API 的过程。如需从本地开发环境运行代码或示例,您可以通过选择以下选项之一向 Compute Engine 进行身份验证:
Select the tab for how you plan to use the samples on this page:
gcloud
-
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
- Set a default region and zone.
-
针对虚拟机的
compute.instances.update
权限。 VM_NAME
:要更新其节点亲和性标签的虚拟机的名称。NODE
:要将虚拟机实时迁移到的节点名称。NODE_GROUP
:要将虚拟机实时迁移到的节点组名称。NODE_AFFINITY_FILE
:包含可调度此虚拟机的节点配置的 JSON 文件的名称。如需了解详情,请参阅配置节点亲和性标签。PROJECT_ID
:要更新其节点亲和性标签的虚拟机所属项目的 ID。ZONE
:要更新其节点亲和性标签的虚拟机的可用区。VM_NAME
:要更新其节点亲和性标签的虚拟机的名称。NODE_AFFINITY_LABEL_KEY
:以下字符串之一,用于指定将虚拟机实时迁移到节点组还是节点:虚拟机目标位置 要指定的键 节点组 compute.googleapis.com/node-group-name
节点 compute.googleapis.com/node-name
NODE_AFFINITY_LABEL_VALUE
:要将虚拟机实时迁移到的节点组或节点的名称。
REST
如需在本地开发环境中使用本页面上的 REST API 示例,请使用您提供给 gcloud CLI 的凭据。
After installing the Google Cloud CLI, initialize it by running the following command:
gcloud init
If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.
如需了解详情,请参阅 Google Cloud 身份验证文档中的使用 REST 时进行身份验证。
API 速率限制
手动实时迁移请求归类为查询 API 速率限制。
将虚拟机手动实时迁移到单独租用节点或在单独租用节点内手动实时迁移虚拟机
如需将虚拟机手动实时迁移到单独租用节点或在单独租用节点内手动实时迁移虚拟机,请使用 gcloud CLI 或 REST。
如果虚拟机的目标位置是节点组,则 Compute Engine 会选择节点组中同时具有足够的空间来存储虚拟机和最小备用容量的节点。
使用共享单租户节点组时,您无法在项目之间执行实时迁移。
执行此任务所需的权限
您必须拥有以下权限才能执行此任务:
gcloud
如需将虚拟机手动实时迁移到单独租用节点或在单独租用节点内手动实时迁移虚拟机,请使用以下
gcloud compute instances update
命令:gcloud compute instances update VM_NAME \ ( --node=NODE \ --node-group=NODE_GROUP \ --node-affinity-file=NODE_AFFINITY_FILE )
替换以下内容:
请准确替换以下各项之一:
REST
如需将虚拟机手动实时迁移到单独租用节点或在单独租用节点内手动实时迁移虚拟机,请使用以下
instances.update
方法:PUT https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/VM_NAME { ... "scheduling": { "nodeAffinities": [ { "key": "NODE_AFFINITY_LABEL_KEY", "operator": "IN", "values": [ "[NODE_AFFINITY_LABEL_VALUE]" ] } ] } ... }
替换以下内容:
后续步骤
如未另行说明,那么本页面中的内容已根据知识共享署名 4.0 许可获得了许可,并且代码示例已根据 Apache 2.0 许可获得了许可。有关详情,请参阅 Google 开发者网站政策。Java 是 Oracle 和/或其关联公司的注册商标。
最后更新时间 (UTC):2025-06-25。
-