Stockage

Vous devez créer un espace de stockage persistant pour les charges de travail exécutées sur Anthos clusters on AWS (GKE sur AWS) avec des objets Kubernetes.

Utiliser un espace de stockage persistant pour vos charges de travail Anthos clusters on AWS

Dans Anthos clusters on AWS, les ressources Kubernetes PersistentVolume (PV), PersistentVolumeClaim (PVC) et StorageClass permettent de fournir des fichiers persistants ainsi qu'un stockage de blocs aux charges de travail. Pour les clusters d'utilisateur version 1.17 ou ultérieure, vous pouvez créer des instantanés du stockage persistant en utilisant les ressources VolumeSnapshot et VolumeSnapshotClass. Les instantanés sont stockés dans votre compte AWS.

StorageClass

Les clusters d'utilisateur disposent d'une ressource StorageClass Kubernetes par défaut qui provisionne de manière dynamique le stockage avec état pour les charges de travail situées sur des volumes AWS Elastic Block Storage (EBS). Vous pouvez également utiliser une autre ressource StorageClass pour provisionner d'autres types de volumes. Ces options sont décrites dans la section suivante.

VolumeSnapshotClass (classe d'instantané de volume)

Les clusters d'utilisateur disposent d'une ressource VolumeSnapshotClass Kubernetes par défaut qui crée des instantanés de stockage avec état sur des volumes AWS Elastic Block Storage (EBS).

Configurer le stockage en clusters

Si vous souhaitez provisionner des volumes de stockage avec une configuration autre que celle fournie par les ressources StorageClass préinstallées, vous pouvez créer une StorageClass dans un cluster qui utilise des paramètres ou un pilote de stockage différents. Vous pouvez ensuite définir la ressource StorageClass comme valeur par défaut du cluster, ou configurer vos charges de travail pour qu'elles utilisent la StorageClass. Par exemple, vous pouvez utiliser un StatefulSet pour définir un nom de StorageClass spécifique.

Utiliser des instantanés de volume

Dans Kubernetes version 1.17 ou ultérieure, vous pouvez utiliser la ressource VolumeSnapshot pour créer des instantanés de volumes de stockage. Ensuite, vous pouvez provisionner les nouveaux volumes persistants à partir de ces instantanés.

Elastic Block Store (EBS)

Anthos clusters on AWS gère les volumes AWS EBS avec le pilote aws-ebs-csi-driver.

La version du pilote CSI EBS est liée à une version Kubernetes d'Anthos clusters on AWS. Lorsque vous mettez à niveau votre version de cluster d'utilisateur, la nouvelle version du pilote s'applique automatiquement. Il s'agit généralement du dernier pilote disponible au moment de la publication de la version d'Anthos clusters on AWS.

Le pilote pré-installé avec Anthos clusters on AWS fournit les StorageClass par défaut suivantes :

  • standard-rwo (par défaut) : utilisé pour le provisionnement de volumes EBS gp2.
  • premium-rwo : utilisé pour le provisionnement de volumes EBS io1.

Les volumes EBS sont compatibles avec le mode d'accès ReadWriteOnce Kubernetes.

Volumes EBS préexistants

Vous pouvez provisionner des volumes EBS existants dans vos charges de travail Anthos clusters on AWS. Consultez la page Importer un volume EBS existant pour obtenir des exemples d'utilisation des volumes EBS dans Anthos clusters on AWS.

Elastic File System (EFS)

Anthos clusters on AWS en version 1.6 et ultérieure est compatible avec l'installation de systèmes de fichiers et de points d'accès AWS EFS préexistants. Pour plus d'informations, consultez la page Utiliser EFS.

Options de stockage supplémentaires

D'autres systèmes de stockage tiers peuvent être utilisés avec Anthos clusters on AWS via des pilotes Container Storage Interface (CSI) tiers (recommandés) ou des plug-ins de volume "in-tree" de Kubernetes.

Pilotes CSI

L'interface CSI (Container Storage Interface, interface de stockage en conteneurs) est une API standard ouverte qui permet à Kubernetes d'associer des systèmes de stockage arbitraires à des charges de travail conteneurisées. Une liste non exhaustive des pilotes CSI est disponible dans la documentation de CSI Kubernetes pour les développeurs. Anthos clusters on AWS est compatible avec CSI v1.x.

Pour utiliser un pilote CSI dans votre cluster, vous devez installer le pilote CSI fourni par votre fournisseur de stockage. Vous pouvez ensuite configurer des charges de travail pour qu'elles utilisent la ressource StorageClass du pilote ou définir celle-ci comme StorageClass par défaut.

Pilotes de stockage spécifiques à AWS

Les pilotes de volume suivants peuvent être utilisés avec Anthos clusters on AWS.

FSx for Lustre (FSX)

Anthos clusters on AWS ne gère pas directement les volumes FSx. Vous pouvez installer manuellement le pilote aws-fsx-csi-driver, mais Google ne fournit pas d'assistance.

Plug-ins de volume "in-tree" Kubernetes

Kubernetes est fourni avec des plug-ins de volume "in-tree" (intégrés). Les facteurs "in-tree" compatibles sont les suivants :

  • configMap
  • emptyDir
  • hostPath
  • nfs
  • projected
  • secrets

Étape suivante