12.4. 为虚拟机启用跨集群实时迁移
跨集群实时迁移允许用户在不中断的情况下将虚拟机(VM)工作负载从一个 OpenShift Container Platform 集群移至另一个集群。您可以通过在 OpenShift Virtualization 和 Migration Toolkit for Virtualization (MTV)中设置集群功能门来启用跨集群实时迁移。
先决条件
- 必须安装 OpenShift Virtualization 4.20 或更高版本。
- OpenShift Container Platform 和 OpenShift Virtualization 次版本必须匹配。例如,如果 OpenShift Container Platform 版本为 4.20.0,OpenShift Virtualization 也需要是 4.20.0。
- 需要两个 OpenShift Container Platform 集群,这两个集群的迁移网络都需要连接到相同的 L2 网络段。
- 您需要适当的集群管理权限和 RBAC 权限,可以管理两个集群中的虚拟机。
跨集群实时迁移只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
12.4.1. 为 OpenShift Virtualization 中的每个集群设置实时迁移功能门 复制链接链接已复制到粘贴板!
要启用跨集群实时迁移,您必须为 OpenShift Virtualization 中的每个集群设置功能门。
先决条件
-
已安装 OpenShift CLI(
oc)。 - 您必须具有集群管理员特权。
-
virt-synchronization-controllerpod 需要正在运行。
流程
通过为每个集群运行以下命令来设置功能门:
oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op":"replace", "path": "/spec/featureGates/decentralizedLiveMigration", "value": true}]'$ oc patch hyperconverged kubevirt-hyperconverged -n openshift-cnv --type json -p '[{"op":"replace", "path": "/spec/featureGates/decentralizedLiveMigration", "value": true}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
要验证每个集群的功能门启用是否成功,在 OpenShift Virtualization 命名空间中运行以下命令以查找同步 pod:
oc get -n {CNVNamespace} pod | grep virt-synchronization$ oc get -n {CNVNamespace} pod | grep virt-synchronizationCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
virt-synchronization-controller-898789f8fc-nsbsm 1/1 Running 0 5d1h virt-synchronization-controller-898789f8fc-vmmfj 1/1 Running 0 5d1h
virt-synchronization-controller-898789f8fc-nsbsm 1/1 Running 0 5d1h virt-synchronization-controller-898789f8fc-vmmfj 1/1 Running 0 5d1hCopy to Clipboard Copied! Toggle word wrap Toggle overflow
您可以在 Migration Toolkit for Virtualization (MTV) 中启用 OpenShift Container Platform 实时迁移功能,以允许虚拟机在跨集群实时迁移过程中在集群间进行迁移。此功能门必须在参与迁移的两个集群中启用。
先决条件
-
已安装 OpenShift CLI(
oc)。 - 您必须具有集群管理员特权。
-
virt-synchronization-controllerpod 需要正在运行。
流程
要通过修改 CR 来启用功能门,请运行以下命令:
oc patch ForkliftController forklift-controller -n openshift-mtv --type json -p '[{"op": "add", "path": "/spec/feature_ocp_live_migration", "value": "true"}]'$ oc patch ForkliftController forklift-controller -n openshift-mtv --type json -p '[{"op": "add", "path": "/spec/feature_ocp_live_migration", "value": "true"}]'Copy to Clipboard Copied! Toggle word wrap Toggle overflow
验证
通过检查
ForkliftController自定义资源(CR)来验证是否启用了功能门。运行以下命令:oc get ForkliftController forklift-controller -n openshift-mtv -o yaml
$ oc get ForkliftController forklift-controller -n openshift-mtv -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 确认
feature_ocp_live_migration键的值被设置为true,如下例所示:Copy to Clipboard Copied! Toggle word wrap Toggle overflow