本页面介绍如何将 VMware 容器存储接口 (CSI) 存储驱动程序与 Anthos clusters on VMware (GKE On-Prem) 集群搭配使用。
概览
vSphere CSI 驱动程序自动部署到 Anthos clusters on VMware 中。如需了解使用其他 CSI 驱动程序,请参阅安装 CSI 驱动程序。
vSphere 要求
如需使用 vSphere CSI 驱动程序,您必须具有:
基于 Linux 的受支持的 vCenter Server 版本
卷扩展
离线卷扩展要求 vCenter Server 和 ESXi 为版本 7.0 Update 1 或更高版本
在线卷扩展要求 vCenter Server 和 ESXi 为版本 7.0 Update 2 或更高版本。
Cns.Searchable
您的 vCenter 用户帐号必须具有根 vCenter 对象的 Cns.Searchable 权限。
验证 CSI 前提条件
如果您不确定您的帐户是否符合 CSI 前提条件,请先运行 gkectl diagnose cluster
,然后再部署任何 CSI 工作负载。
确认驱动程序可用性
当您的用户集群中安装了 vSphere CSI 驱动程序时,系统会创建名为 standard-rwo
的 StorageClass。如需检查是否在所有节点上都提供了驱动程序,请运行以下命令:
kubectl get csinode -o="custom-columns=NAME:metadata.name,DRIVERS:spec.drivers[].name"
您会看到以下输出内容:
NAME DRIVERS node-0 csi.vsphere.vmware.com node-1 csi.vsphere.vmware.com node-2 csi.vsphere.vmware.com
预配卷
如需使用 vSphere CSI 驱动程序预配卷,请将 PersistentVolumeClaim 的 storageClassName
字段设置为 standard-rwo
。
设置默认存储类别
要将 standard-rwo
设为默认存储类别,请参阅默认存储类别。
创建其他 StorageClass
您可以使用 datastoreurl
或 storagepolicyname
参数在集群中创建其他 vSphere CSI StorageClasses。
以下示例使用 storagepolicyname
参数:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: gold parameters: csi.storage.k8s.io/fstype: ext4 storagepolicyname: "Gold Policy" provisioner: csi.vsphere.vmware.com
要查找 datastoreurl
参数的正确值,请运行以下命令:
govc datastore.info DATASTORE_NAME
其中,DATASTORE_NAME 是您的 vSphere 数据存储区的名称。
使用 datastoreurl
的输出中的 URL 值。输出示例如下所示:
Name: DATASTORE_NAME Path: /DATACENTER_NAME/datastore/DATASTORE_NAME Type: VMFS URL: ds:///vmfs/volumes/5d864fa0-7f2184d4-8eb4-3cfdfe0ce9a0/ Capacity: 20479.8 GB Free: 10066.9 GB
卷清理
当您删除用户集群时,系统不会删除由 vSphere CSI 驱动程序预配的卷。在删除集群之前,您应该先删除所有 PVC 和 StatefulSet。要删除卷,请运行以下命令:
kubectl delete statefulsets,persistentvolumeclaims --namespace=MY_NAMESPACE --all
其中,MY_NAMESPACE 是您的 Kubernetes 命名空间。
如果您删除了用户集群而未删除其卷,则可以在 vCenter 中找到这些卷:
在 vCenter 中,选择一个数据存储区。
导航到监控 > 云原生存储 > 容器卷。
Kubernetes 集群名称显示在每个卷的详细信息部分。
停用 vSphere CSI 驱动程序
如需移除 vSphere CSI 支持,请在您的用户集群配置中添加以下内容:
# (Optional) Storage specification for the cluster storage: # To disable the vSphere CSI driver, set this to true. The value is set to false by default and # the vSphere CSI driver is enabled by default on vSphere version >= 6.7U3. vSphereCSIDisabled: true