Utiliser un volume Azure Disk
GKE sur Azure déploie automatiquement le pilote azuredisk-csi-driver
pour provisionner et gérer les volumes Azure Disk dans vos clusters.
La version du pilote CSI Azure Disk de GKE sur Azure est liée à une version de cluster Kubernetes. La version du pilote est généralement la dernière disponible lors de la publication de la version de GKE. Lorsque le cluster est mis à niveau, les pilotes sont automatiquement mis à jour.
Pour en savoir plus sur la manière dont GKE sur Azure fournit un espace de stockage persistant, consultez la page Présentation du stockage.
Classes de stockage par défaut
GKE sur Azure fournit les options StorageClass suivantes par défaut :
standard-rwo
(par défaut) : provisionne les disques Azure SSD standards avec LRS.premium-rwo
: provisionne les disques Azure SSD premium avec LRS.
Avant de commencer
Utiliser la ressource StorageClass par défaut
Lorsque vous créez un objet PersistentVolumeClaim sans définir le champ
spec.storageClassName
, GKE sur Azure provisionne un
volume SSD standard Azure
à l'aide de la classe StorageClass de pilote CSI Azure Disk de GKE sur Azure par défaut.
Le code YAML suivant crée un objet PersistentVolumeClaim (PVC) nommé mypvc
avec une taille de 30 GiB.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
Utiliser la classe de stockage premium
Lorsque vous créez un objet PersistentVolumeClaim et définissez le champ spec.storageClassName
sur premium-rwo
, GKE sur Azure provisionne un volume SSD premium Azure.
Le code YAML suivant crée un objet PersistentVolumeClaim (PVC) nommé mypvc
avec une taille de 30 Gio.
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: mypvc
spec:
storageClassName: premium-rwo
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 30Gi
Référencer la ressource StorageClass dans un StatefulSet
Pour utiliser votre nouvelle StorageClass, vous pouvez faire référence à cette ressource dans la spécification volumeClaimTemplates
d'un StatefulSet.
Lorsque vous référencez une ressource StorageClass dans la spécification volumeClaimTemplates
d'un StatefulSet, Kubernetes fournit un espace de stockage stable à l'aide de PersistentVolumes (PVs).
Kubernetes appelle l'approvisionneur défini dans la StorageClass pour créer un volume de stockage. Une fois le volume provisionné, Kubernetes crée automatiquement un PV.
L'objet StatefulSet suivant référence la StorageClass premium-rwo
et provisionne un volume de 1 gibioctet :
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: web
spec:
selector:
matchLabels:
app: nginx
template:
metadata:
labels:
app: nginx
spec:
containers:
- name: nginx
image: registry.k8s.io/nginx-slim:0.8
volumeMounts:
- name: www
mountPath: /usr/share/nginx/html
volumeClaimTemplates: # This is the specification in which you reference the StorageClass
- metadata:
name: www
spec:
accessModes: [ "ReadWriteOnce" ]
resources:
requests:
storage: 1Gi
storageClassName: premium-rwo # This field references the existing StorageClass
Étape suivante
Consultez la documentation sur le pilote CSI Azure Disk.
Créez une classe de stockage personnalisée avec des paramètres spécifiques.
Découvrez les volumes persistants dans GKE.
Installez les pilotes de stockage dans votre cluster GKE sur Azure.