Cette page explique comment installer un pilote de stockage CSI (Container Storage Interface) sur vos clusters GKE.
CSI est une API standard Open Source qui permet à Kubernetes d'exposer des systèmes de stockage arbitraires à des charges de travail en conteneur. CSI permet également d'utiliser des fonctionnalités de stockage modernes comme le redimensionnement et les instantanés.
Par défaut, GKE sur AWS provisionne des volumes EBS avec leebs-csi-driver
.
Vous pouvez également provisionner des volumes EFS à l'aide du pilote efs-csi-driver
.
Si vous souhaitez utiliser un autre type de volume de stockage, vous pouvez installer un pilote CSI.
Après avoir installé un pilote CSI, vous devez créer une ressource StorageClass Kubernetes. Vous définissez le pilote CSI en tant que fournisseur pour la StorageClass. Vous pouvez ensuite définir la ressource StorageClass comme valeur par défaut, ou configurer vos charges de travail pour qu'elles utilisent la StorageClass.
Avant de commencer
Se connecter au cluster et s'authentifier
Installer le pilote CSI d'un fournisseur
Les fournisseurs de stockage sont chargés de fournir les instructions d'installation de leurs pilotes CSI. Consultez la liste des pilotes CSI dans la documentation CSI.
Suivez les instructions d'installation de votre pilote CSI, puis passez aux étapes suivantes de cette page.
Google ne fournit pas d'assistance ni d'instructions pour les pilotes tiers. Contactez votre fournisseur de stockage pour obtenir de l'aide.
Vérifier l'installation du pilote
Après avoir installé un pilote CSI, vous pouvez vérifier l'installation en exécutant les commandes suivantes :
kubectl get csinodes \
-o jsonpath='{range .items[*]} {.metadata.name}{": "} {range .spec.drivers[*]} {.name}{"\n"} {end}{end}'
Utiliser un pilote CSI
Pour utiliser un pilote CSI, procédez comme suit :
Créez une ressource StorageClass personnalisée qui référence le pilote dans son champ
provisioner
.Pour provisionner l'espace de stockage, vous pouvez :
- référencer la ressource StorageClass dans la spécification
volumeClaimTemplates
d'un objet StatefulSet ; - la définir en tant que StorageClass par défaut du cluster.
- référencer la ressource StorageClass dans la spécification
Points à prendre en compte concernant les ressources StorageClass reposant sur un pilote CSI
Lorsque vous créez une StorageClass, tenez compte des points suivants :
Consultez la documentation du pilote CSI pour connaître les paramètres spécifiques au pilote que vous devez fournir à votre StorageClass, y compris le nom de l'approvisionneur.
Vous devez nommer la ressource StorageClass en fonction de ses propriétés (telles que
fast
ouhighly-replicated
), plutôt qu'en fonction du nom du pilote ou de l'appareil spécifique qui se trouve derrière. Lorsque vous nommez une StorageClass en fonction de ses propriétés, vous pouvez créer des ressources StorageClass avec le même nom dans différents clusters et environnements. Ensuite, configurez vos charges de travail de sorte qu'elles utilisent la même StorageClass.
Étape suivante
- Créez une ressource StorageClass qui référence le pilote CSI.