Une nouvelle version de GKE sur AWS a été publiée le 2 novembre. Consultez les notes de version pour plus d'informations.

Installer des pilotes de stockage

Cet article explique comment installer un pilote CSI (Container Storage Interface) sur des clusters GKE sur AWS.

Aperçu

Par défaut, GKE sur AWS provisionne des volumes EBS AWS à l'aide de la ressource StorageClass par défaut. Si vous souhaitez utiliser un autre type de volume de stockage, vous pouvez installer un pilote CSI.

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 (dans les versions 1.17 et ultérieures).

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. Pour obtenir un exemple de création d'objet StatefulSet avec une StorageClass personnalisée, consultez la page Utiliser des ressources StorageClass avec vos charges de travail.

Avant de commencer

  • À partir de votre répertoire anthos-aws, utilisez anthos-gke pour basculer vers le contexte de votre cluster d'utilisateur.
    cd anthos-aws
    env HTTP_PROXY=http://localhost:8118 \
    anthos-gke aws clusters get-credentials CLUSTER_NAME

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.

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 :

env HTTP_PROXY=http://localhost:8118 \
  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 :

  1. Créez une ressource StorageClass personnalisée qui référence le pilote dans son champ provisioner.

  2. Pour provisionner l'espace de stockage, vous pouvez :

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 ou highly-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.

Et ensuite ?

  • Créez une ressource StorageClass qui référence le pilote CSI.