RKE 集群中配置 vSphere 卷时,需要先在中配置好vSphere Cloud Provider的信息。

创建存储类

  1. 全局页面中,选择要提供 vSphere 存储的集群。

  2. 在主菜单中,单击存储,展开下菜单,选择存储类,然后单击添加存储类

  3. 输入类型的名称

  4. 提供者列表中,选择VMWare vSphere 卷

  5. 单击保存

  1. 工作负载类型中,选择StatefulSet,Pod 数量为 1。

  2. 展开列表,并单击添加卷

  3. 选择添加一个新的持久卷(声明). 在部署工作负载后,该选项将隐式地创建一个卷声明。

  4. 为卷声明分配一个名称,例如 test-volume,然后选择在上一步中创建的 vSphere 存储类。

  5. 输入所需的卷容量,随后单击定义

  6. 挂载点中填写路径,这将是容器文件系统中挂载卷的完整路径,例如:。

  7. 单击启动以创建工作负载。

检验卷的持久性

  1. 记下卷挂载的完整路径,在本例中是 /persistent

  2. 单击关闭,关闭这个 shell。

  3. 单击工作负载的名称以显示详细信息。

  4. 打开运行中Pod 旁边的菜单。

  5. 选择删除,删除这个 Pod。

  6. 观察 Pod 被重新调度并功运行。

  7. 再次单击执行 Shell

  8. 通过输入 ls -l /persistent,检查挂载卷的目录。返回的结果应该包含您创建的目录名称。

在选择使用 vSphere 存储的工作负载时,应该始终选择 StatefulSet,因为此资源类型旨在解决 VMDK 块存储的告警。

由于 vSphere 卷由 VMDK 块存储支持,因此它们仅支持 ReadWriteOnce 的。此设置限制了卷,除非消耗该卷的所有 Pod 都位于同一节点上,否则一次只能将其挂载到一个 Pod 上。如果使用 vSphere 卷,此行为将导致 Deployment 类型的工作负载不可用,因为无法扩展为多个副本。

相关链接