Pour les charges de travail nécessitant de la persistance, vous pouvez utiliser la classe de stockage par défaut ou définir votre propre classe de stockage à utiliser avec des volumes persistants. Les clusters Tanzu Kubernetes prennent en charge le provisionneur CSI (Container Storage interface).

CSI (Container Storage Interface) est pris en charge

Les clusters Tanzu Kubernetes prennent en charge l'interface CSI (Container Storage Interface). Dans la définition de StorageClass, ce type de provisionneur est identifié comme csi.vsphere.vware.com.

La définition YAML suivante peut être utilisée comme modèle pour définir une classe de stockage pour un cluster Tanzu Kubernetes. Spécifiez si vous souhaitez que la classe de stockage soit la valeur par défaut (« true ») et fournissez l'URL de votre environnement de stockage.
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/"
Créez la classe de stockage :
kubectl apply -f tkgs-storage-class.yaml

storageclass.storage.k8s.io/tkgs-storage-class created
Vérifiez que la classe de stockage est créée :
kubectl get storageclass
Ou, en utilisant le raccourci :
kubectl get sc

VMware Cloud Provider (vCP) n'est pas pris en charge

Les clusters Tanzu Kubernetes ne prennent pas en charge StorageClass hérité de VMware Cloud Provider (vCP), comme indiqué ci-dessous. Si vous tentez de créer un StorageClass à l'aide du provisionneur vCP, StorageClass n'est pas créé.
kind: StorageClass
apiVersion: storage.k8s.io/v1
metadata:
  name: demo-sts-sc
provisioner: kubernetes.io/vsphere-volume
parameters:
  diskformat: thin