使用 vSphere 容器存储接口驱动程序

本页面介绍如何将 VMware 容器存储接口 (CSI) 存储驱动程序与 Anthos clusters on VMware (GKE On-Prem) 集群搭配使用。

概览

从 Anthos clusters on VMware 版本 1.5 开始,vSphere CSI 驱动程序会自动部署到 Anthos clusters on VMware 集群中。如需了解其他 CSI 驱动程序,请参阅安装 CSI 驱动程序

准备工作

请确保满足以下前提条件:

  • vCenter 和 ESXi 主机均为版本 6.7 更新 3 或更高版本。

  • vSphere cns.searchable 用户帐号权限

如果您不确定集群是否符合 CSI 前提条件,请先运行 gkectl diagnose cluster,然后再部署任何 CSI 工作负载。

请注意,VMware 上的 Anthos 集群不支持 vSphere 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 驱动程序预配卷,请将 PersistentVolumeClaimstorageClassName 字段设置为 standard-rwo

设置默认存储类别

要将 standard-rwo 设为默认存储类别,请参阅默认存储类别

创建其他 StorageClass

您可以使用 datastoreurlstoragepolicyname 参数在集群中创建其他 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 中找到这些卷:

  1. 在 vCenter 中,选择一个数据存储区。

  2. 导航到监控 > 云原生存储 > 容器卷

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

后续步骤