|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
将 VMware vSphere 从树内迁移到树外
Kubernetes 正在逐步停止维护树内的云提供商。VMware vSphere 有一个树外云提供商,可以通过安装 vSphere 云提供商和云存储插件来使用。
本页面介绍如何从树内 vSphere 云提供商迁移到树外,并在迁移后管理现有虚拟机。
它遵循官方 vSphere 迁移文档 中提供的步骤,并提供在 Rancher 中执行的步骤。
云配置格式限制
由于 vSphere 云存储接口 (CSI) 中存在的错误,使用以下云配置格式创建的现有卷将无法迁移。
如果云配置中对数据存储和资源池的路径采用此格式,vsphere CSI 驱动程序将无法识别:
default-datastore: </datacenter>/datastore/<default-datastore-name>
resourcepool-path: "</datacenter>/host/<cluster-name>/Resources/<resource-pool-name>"
使用以下格式通过树内提供商创建的卷将正确迁移:
default-datastore: <default-datastore-name>
resourcepool-path: "<cluster-name>/Resources/<resource-pool-name>"
跟踪此错误的 Rancher 问题: https://github.com/rancher/rancher/issues/31105
先决条件
-
vSphere CSI 迁移需要 vSphere 7.0u1。为了能够管理现有的树内 vSphere 卷,请将 vSphere 升级到 7.0u1。
-
Kubernetes 版本必须为 1.19 或更高。
迁移
1.安装 CPI 插件
在安装 CPI 之前,我们需要对所有节点进行 node.cloudprovider.kubernetes.io/uninitialized=true:NoSchedule 污点标记。
可以通过运行以下命令来完成此操作:
curl -O https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh
或:
wget https://raw.githubusercontent.com/rancher/helm3-charts/56b622f519728378abeddfe95074f1b87ab73b1e/charts/vsphere-cpi/taints.sh chmod +x taints.sh ./taints.sh <path to kubeconfig if running the command outside the cluster>
一旦所有节点通过运行脚本被标记,启动 Helm vSphere CPI 图表。
-
单击 ☰ > 集群管理。
-
转到将安装 vSphere CPI 图表的集群并点击 探索.
-
点击 。
-
点击 vSphere CPI。
-
单击 安装。
-
填写所需的 vCenter 详细信息并点击 安装。
vSphere CPI 使用 ProviderID 初始化所有节点,这是 vSphere CSI 驱动程序所需的。
检查所有节点是否使用以下命令初始化了 ProviderID:
kubectl describe nodes | grep "ProviderID"
2.安装CSI驱动程序
-
单击 ☰ > 集群管理。
-
前往将要安装 vSphere CSI 图表的集群并点击 探索。
-
点击 。
-
点击 vSphere CSI。
-
单击 安装。
-
填写所需的 vCenter 详细信息并点击 安装。
-
勾选 安装前自定义 Helm 选项 并点击 下一步。
-
在 功能 标签下,勾选 启用 CSI 迁移。
-
可选地,前往 存储 标签并设置一个数据存储。此图表创建一个 StorageClass,使用
csi.vsphere.vmware.com作为 provisioner。在创建此 StorageClass 时,您可以提供用于 CSI 卷供应的数据存储的 URL。数据存储的 URL 可以在 vSphere 客户端中找到,方法是选择数据存储并转到摘要标签。填写 StorageClass 的详细信息。 -
单击 安装。