12.6. 关于 Migration Toolkit for Virtualization (MTV)供应商
要在 OpenShift Container Platform 集群间迁移虚拟机,您必须为迁移中包含的每个集群配置 OpenShift Container Platform 供应商。如果在集群中安装了 MTV,则本地供应商已存在。
跨集群实时迁移只是一个技术预览功能。技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。
有关红帽技术预览功能支持范围的更多信息,请参阅技术预览功能支持范围。
12.6.1. 为供应商配置 root 证书颁发机构 复制链接链接已复制到粘贴板!
您必须为迁移中包含的每个集群配置 OpenShift Container Platform 供应商,每个供应商都需要一个证书颁发机构(CA)。务必要为整个集群配置 root CA,以避免 CA 过期,这会导致供应商失败。
流程
针对您要为其创建供应商的集群运行以下命令:
oc get cm kube-root-ca.crt -o=jsonpath={.data.ca\\.crt}$ oc get cm kube-root-ca.crt -o=jsonpath={.data.ca\\.crt}Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 复制输出的证书。
- 在 Migration Toolkit for Virtualization (MTV) web 控制台中,创建一个供应商并选择 OpenShift Virtualization。
将证书粘贴到 CA 证书 字段中,如下例所示:
-----BEGIN CERTIFICATE----- <CA_certificate_content> -----END CERTIFICATE-----
-----BEGIN CERTIFICATE----- <CA_certificate_content> -----END CERTIFICATE-----Copy to Clipboard Copied! Toggle word wrap Toggle overflow
12.6.2. 创建用于 MTV 供应商的长期服务帐户和令牌 复制链接链接已复制到粘贴板!
当您在 Migration Toolkit for Virtualization (MTV) web 控制台中注册 OpenShift Virtualization 供应商时,您必须提供允许 MTV 与集群交互的凭证。创建长期服务帐户和集群角色绑定可让 MTV 持久权限在迁移期间读取和创建虚拟机资源。
流程
创建集群角色,如下例所示:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建集群角色:
oc create -f <filename>.yaml
$ oc create -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来创建服务帐户:
oc create serviceaccount <service_account_name> -n <service_account_namespace>
$ oc create serviceaccount <service_account_name> -n <service_account_namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令,创建将服务帐户链接到集群角色的集群角色绑定:
oc create clusterrolebinding <service_account_name> --clusterrole=<cluster_role_name> --serviceaccount=<service_account_namespace>:<service_account_name>
$ oc create clusterrolebinding <service_account_name> --clusterrole=<cluster_role_name> --serviceaccount=<service_account_namespace>:<service_account_name>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 通过将以下清单保存为 YAML 文件来创建 secret 来保存令牌:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来应用清单:
oc apply -f <filename>.yaml
$ oc apply -f <filename>.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 填充 secret 后,运行以下命令来获取服务帐户 bearer 令牌:
TOKEN_BASE64=$(oc get secret "<name_of_secret>" -n "<namespace_bound_to_service_account>" -o jsonpath='{.data.token}')$ TOKEN_BASE64=$(oc get secret "<name_of_secret>" -n "<namespace_bound_to_service_account>" -o jsonpath='{.data.token}') TOKEN=$(echo "$TOKEN_BASE64" | base64 --decode) echo "$TOKEN"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 复制输出的令牌。
- 在 Migration Toolkit for Virtualization (MTV) web 控制台中,当您创建供应商并选择 OpenShift Virtualization 时,将令牌粘贴到 Service account bearer token 字段中。