对于需要持久性的工作负载,可以使用默认存储类,也可以定义自己的存储类以用于持久卷。Tanzu Kubernetes 集群支持容器存储接口 (CSI) 置备程序。

支持容器存储接口 (CSI)

Tanzu Kubernetes 集群支持容器存储接口 (CSI)。在 StorageClass 定义中,这种类型的置备程序标识为 csi.vsphere.vware.com

可以将以下 YAML 定义用作模板,用于为 Tanzu Kubernetes 集群定义存储类。指定是否要将存储类设置为默认值(“true”),并为存储环境提供数据存储 URL。
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: tkgs-storage-class
  annotations:
    storageclass.kubernetes.io/is-default-class: "true" or "false"
provisioner: csi.vsphere.vmware.com
parameters:
  datastoreurl: "ds:///vmfs/volumes/vsan:52d8eb4842dbf493-41523be9cd4ff7b7/"
创建存储类:
kubectl apply -f tkgs-storage-class.yaml

storageclass.storage.k8s.io/tkgs-storage-class created
验证是否已创建存储类:
kubectl get storageclass
或者,使用快捷方式:
kubectl get sc

不支持 VMware Cloud Provider (vCP)

Tanzu Kubernetes 集群不支持旧版 VMware Cloud Provider (vCP) StorageClass,如下所示。如果尝试使用 vCP 置备程序创建 StorageClass,则不会创建 StorageClass
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: demo-sts-sc
provisioner: kubernetes.io/vsphere-volume
parameters:
  diskformat: thin