在 RKE 集群中配置 vSphere 卷时,需要先在中配置好vSphere Cloud Provider的信息。
创建存储类
在全局页面中,选择要提供 vSphere 存储的集群。
在主菜单中,单击存储,展开下菜单,选择存储类,然后单击添加存储类。
输入类型的名称。
在提供者列表中,选择VMWare vSphere 卷。
单击保存。
在工作负载类型中,选择StatefulSet,Pod 数量为 1。
展开卷列表,并单击添加卷。
选择添加一个新的持久卷(声明). 在部署工作负载后,该选项将隐式地创建一个卷声明。
为卷声明分配一个名称,例如
test-volume
,然后选择在上一步中创建的 vSphere 存储类。输入所需的卷容量,随后单击定义。
在挂载点中填写路径,这将是容器文件系统中挂载卷的完整路径,例如:。
单击启动以创建工作负载。
检验卷的持久性
记下卷挂载的完整路径,在本例中是
/persistent
。单击关闭,关闭这个 shell。
单击工作负载的名称以显示详细信息。
打开运行中Pod 旁边的菜单。
选择删除,删除这个 Pod。
观察 Pod 被重新调度并功运行。
再次单击执行 Shell。
通过输入
ls -l /persistent
,检查挂载卷的目录。返回的结果应该包含您创建的目录名称。
在选择使用 vSphere 存储的工作负载时,应该始终选择 StatefulSet,因为此资源类型旨在解决 VMDK 块存储的告警。
由于 vSphere 卷由 VMDK 块存储支持,因此它们仅支持 ReadWriteOnce 的。此设置限制了卷,除非消耗该卷的所有 Pod 都位于同一节点上,否则一次只能将其挂载到一个 Pod 上。如果使用 vSphere 卷,此行为将导致 Deployment 类型的工作负载不可用,因为无法扩展为多个副本。