Présentation du stockage

Créez avec des objets Kubernetes un stockage persistant pour les charges de travail exécutées sur GKE sur Azure.

Stockage du plan de contrôle

Lorsque vous créez un cluster, GKE sur Azure provisionne des disques LRS SSD premium pour le plan de contrôle et les volumes etcd.

Utiliser un stockage persistant dans vos charges de travail GKE sur Azure

Dans GKE sur Azure, 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. 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 Azure.

StorageClass

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

Comptes de stockage Azure

GKE sur Azure crée automatiquement un compte de stockage Azure lors de la création d'un cluster. Si vous souhaitez utiliser un compte de stockage spécifique, créez une classe de stockage personnalisée.

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.

Stockage sur disque Azure (AzureDisk)

GKE sur Azure gère les volumes Azure Disk avec le azuredisk-csi-driver

La version du pilote CSI est liée à une version Kubernetes GKE sur Azure. Lorsque vous mettez à niveau la version de votre cluster, GKE sur Azure met automatiquement à jour la version du pilote. Il s'agit généralement du dernier pilote disponible au moment de la publication de la version de GKE sur Azure. Remarque : L'ancien type de volume Kubernetes kubernetes.io/azure-disk n'est pas compatible.

Le pilote préinstallé avec GKE sur Azure fournit les StorageClasses suivantes par défaut :

  • standard-rwo (par défaut) : utilisé pour le provisionnement des disques Azure SSD standards avec LRS
  • premium-rwo : utilisé pour le provisionnement de disques Azure SSD premium avec LRS

Les volumes de disque Azure sont compatibles avec le mode d'accès ReadWriteOnce Kubernetes.

Instantanés de volume

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.

Clonage de volume

Vous pouvez utiliser le clonage de volume CSI pour cloner des volumes de disque Azure existants. Pour en savoir plus, consultez l'exemple de clonage de volume.

Redimensionnement de volume

Vous pouvez redimensionner des volumes de disque Azure non associés à l'aide du redimensionnement de volume. Pour plus d'informations, consultez l'exemple de redimensionnement de volume. Le redimensionnement n'est pas possible lorsque le volume est associé et installé.

Disques partagés Azure

Pour les charges de travail conçues pour coordonner les écritures sur un disque de bloc brut partagé, GKE sur Azure accepte les disques partagés Azure. Pour en savoir plus, consultez la section Disque partagé (lecture de données multinœuds) dans la documentation CSI du disque Azure.

Stockage de fichiers Azure (AzureFile)

GKE sur Azure gère les volumes Azure Files avec azurefile-csi-driver.

Le pilote CSI est lié à une version Kubernetes de GKE sur Azure. Lorsque vous mettez à niveau votre version de cluster, 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 de GKE sur Azure. Remarque : L'ancien type de volume Kubernetes kubernetes.io/azure-file n'est pas compatible.

Le pilote préinstallé avec GKE sur Azure fournit les StorageClasses suivantes par défaut :

  • standard-rwx : utilisé pour le provisionnement des partages de fichiers Azure SSD standards avec LRS.
  • premium-rwx : utilisé pour le provisionnement de partages de fichiers Azure SSD premium avec LRS.

Les volumes de fichiers Azure utilisent le mode d'accès ReadWriteMany de Kubernetes.

Instantanés de volume

Vous pouvez utiliser la ressource VolumeSnapshot pour créer des instantanés de volumes Azure File. Pour en savoir plus, consultez la documentation sur la fonctionnalité d'instantanés d'Azure File. Pour restaurer un instantané, utilisez le portail Azure. Pour en savoir plus, consultez la page Présentation des instantanés de partage pour Azure Files.

Redimensionnement de volume

Le redimensionnement de volume permet de redimensionner des volumes Azure Files. Pour plus d'informations, consultez l'exemple de redimensionnement de volume.

Pilotes de stockage supplémentaires

D'autres systèmes de stockage tiers peuvent être utilisés avec GKE sur Azure, comme des pilotes CSI tiers (Container Storage Interface, recommandé) ou des plug-ins de volume "in-tree" 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. GKE sur Azure 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 à Azure

Les pilotes de volume suivants peuvent être utilisés avec GKE sur Azure :

GKE sur Azure ne gère pas directement le stockage Azure Blob. Vous pouvez installer manuellement le pilote CSI blob-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