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

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

概览

vSphere CSI 驱动程序自动部署到 Anthos clusters on VMware 中。如需了解使用其他 CSI 驱动程序,请参阅安装 CSI 驱动程序

vSphere 要求

如需使用 vSphere CSI 驱动程序,您必须具有:

卷扩展

  • 离线卷扩展要求 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 驱动程序预配卷,请将 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

后续步骤