Share via


Options de stockage pour un cluster Kubernetes

Cet article compare les fonctionnalités de stockage d’Amazon EKS (Amazon Elastic Kubernetes Service) et d’AKS (Azure Kubernetes Service), puis décrit les options de stockage des données de charge de travail sur AKS.

Notes

Cet article fait partie d’une série d’articles destinée à aider les professionnels qui connaissent Amazon EKS à comprendre le fonctionnement d’AKS.

Options de stockage d’Amazon EKS

Dans Amazon EKS, après Kubernetes version 1.11, le cluster dispose d’un StorageClass par défaut appelé gp2 pour les revendications de volumes persistants. Les administrateurs peuvent ajouter des pilotes pour définir des classes de stockage supplémentaires, par exemple :

  • Pilote Amazon EBS CSI sous forme de module complémentaire Amazon EKS
  • Module complémentaire automanagé Amazon EBS CSI
  • Pilote Amazon EFS CSI
  • Pilote Amazon FSx pour Lustre CSI
  • Pilote Amazon FSx pour NetApp ONTAP CSI

En ajoutant des pilotes et des classes de stockage, vous pouvez utiliser des services de stockage tels que :

  • Amazon EBS (Amazon Elastic Block Store), une solution de stockage au niveau des blocs utilisée avec les instances Amazon Elastic Compute Cloud (EC2) pour stocker des données persistantes. Ce service est similaire à Stockage sur disque Azure, qui comporte plusieurs références SKU, par exemple SSD Standard, SSD Premium ou Disque Ultra, en fonction des performances nécessaires.

  • Amazon EFS (Amazon Elastic File System), qui fournit un accès NFS (Network File System) aux systèmes de fichiers externes pouvant être partagés entre les instances. La solution Azure équivalente est Azure Files et Azure Files Premium avec à la fois un accès SMB (Server Message Block) 3.0 et un accès NFS.

  • Lustre, un système de fichiers open source couramment utilisé pour le calcul HPC (calcul haute performance). Dans Azure, vous pouvez utiliser Disques Ultra ou Azure HPC Cache pour les charges de travail où la vitesse est importante, par exemple le machine learning et le calcul HPC.

  • NetApp ONTAP, stockage partagé ONTAP complètement managé dans AWS (Amazon Web Services). Azure NetApp Files est un service de stockage de fichiers Azure similaire basé sur la technologie NetApp.

Options de stockage AKS

Chaque cluster AKS comprend les classes de stockage précréées suivantes par défaut :

  • La classe de stockage par défaut, managed-csi, utilise les disques SSD Standard de Stockage sur disque. SSD Standard est une option de stockage économique, optimisée pour les charges de travail qui nécessitent des performances constantes avec un nombre d’IOPS (opérations d’entrée-sortie par seconde) relativement peu important.
  • La classe managed-csi-premium utilise des disques managés : les disques SSD Premium de Stockage sur disque.
  • La classe azurefile-csi utilise Azure Files pour fournir un accès partagé simultané au même volume de stockage, à l’aide des protocoles SMB ou NFS.
  • La classe azurefile-csi-premium utilise Azure Files Premium pour les partages de fichiers dont les charges de travail sont intensives au niveau de l’IOPS. Azure Files Premium offre une faible latence et un débit élevé grâce au stockage SSD.

Vous pouvez étendre ces options en ajoutant d’autres classes de stockage et en les intégrant à d’autres solutions de stockage disponibles, par exemple :

  • Disque Ultra
  • Azure NetApp Files
  • HPC Cache
  • Serveur NFS
  • Solutions de stockage tierces

Stockage sur disque Azure

Par défaut, un cluster AKS est fourni avec des classes de stockage managed-csi et managed-csi-premium précréées, qui utilisent la fonctionnalité Stockage sur disque. À l’image d’Amazon EBS, ces classes créent un disque managé ou un périphérique en mode bloc attaché au nœud pour permettre l’accès aux pods.

Les classes de stockage relatives à Stockage sur disque permettent le provisionnement de volumes statiques et dynamiques. La stratégie de récupération vérifie que le disque est supprimé avec le volume persistant. Vous pouvez étendre le disque en modifiant la revendication du volume persistant.

Ces classes de stockage utilisent le service Azure Managed Disks avec un stockage localement redondant (LRS). LRS signifie que les données ont trois copies synchrones dans un seul lieu physique au sein d’une région primaire Azure. LRS est l’option de réplication la moins chère, mais elle n’offre pas de protection contre une défaillance du centre de données. Pour atténuer ce risque, effectuez des sauvegardes ou des captures instantanées régulières des données de Stockage sur disque à l’aide de solutions telles que Velero ou Sauvegarde Azure, qui peuvent utiliser des technologies de capture instantanée intégrées.

Les deux classes de stockage reposent sur des disques managés et utilisent des disques SSD. Il est important de comprendre les différences entre les disques Standard et Premium :

  • Les disques Standard sont facturés en fonction de leur taille et des transactions de stockage.
  • Les disques Premium sont facturés uniquement en fonction de leur taille, ce qui peut les rendre moins chers pour les charges de travail nécessitant un nombre élevé de transactions.
  • Les disques SSD Premium offrent un débit maximal et un nombre d’IOPS plus élevés, comme indiqué dans cette comparaison.
  • Le Stockage Premium est recommandé pour la plupart des charges de travail de production et de développement.

Si vous utilisez des disques Azure Managed Disks en tant que classe de stockage principale, tenez compte de la référence SKU de machine virtuelle que vous choisissez pour votre cluster Kubernetes. Les machines virtuelles Azure limitent le nombre de disques que vous pouvez attacher, et cette limite varie en fonction de la taille de la machine virtuelle. De plus, dans la mesure où les disques Azure sont montés en tant que ReadWriteOnce, ils ne sont disponibles que pour un seul pod.

Disque Ultra

Les disques de stockage Ultra correspondent à un niveau de disque managé Azure offrant un débit très important, un nombre élevé d’IOPS et un stockage sur disque à faible latence cohérent pour les machines virtuelles Azure. Les disques de stockage Ultra sont destinés aux charges de travail lourdes sur le plan des données et des transactions. Tout comme d’autres références SKU de Stockage sur disque et Amazon EBS, les disques de stockage Ultra sont montés pod après pod, et ne fournissent pas d’accès simultané.

Utilisez l’indicateur --enable-ultra-ssd pour activer les disques de stockage Ultra sur votre cluster AKS.

Si vous choisissez les disques de stockage Ultra, tenez compte de leurs limitations, et veillez à sélectionner une taille de machine virtuelle compatible. Les disques de stockage Ultra sont disponibles avec la réplication LRS (stockage localement redondant).

Azure Files

La fonctionnalité Stockage sur disque ne permet pas l’accès simultané à un volume. Toutefois, vous pouvez utiliser Azure Files pour vous connecter à l’aide du protocole SMB, puis monter un volume partagé reposant sur le service Stockage Azure. Ce processus permet de disposer d’un stockage de type NAS, à l’image d’Amazon EFS. Comme pour la fonctionnalité Stockage sur disque, il existe deux options :

  • Stockage Standard Azure Files, qui repose sur des lecteurs de disque dur (HDD) classiques.
  • Stockage Premium Azure Files, qui repose sur des disques SSD hautes performances avec partage de fichiers. La taille minimale du partage de fichiers pour le stockage Premium est de 100 Go.

Azure Files propose les options de réplication de compte de stockage suivantes pour protéger vos données en cas de défaillance :

Pour optimiser les coûts d’Azure Files, achetez des réservations de capacité Azure Files.

Azure NetApp Files

À l’image d’AWS NetApp ONTAP, Azure NetApp Files est un service de stockage de fichiers avec facturation à l’usage, hautes performances, destiné aux entreprises. Azure NetApp Files est complètement managé dans Azure à l’aide des solutions NetApp. Tout comme Azure Files, Azure NetApp Files permet à plusieurs pods de monter un volume. Vous pouvez utiliser Astra Trident, un orchestrateur de stockage dynamique open source pour Kubernetes, afin de configurer votre cluster AKS dans le cadre d’Azure NetApp Files.

Tenez compte des limites de ressources pour Azure NetApp Files. La taille minimale d’un pool de capacités pour Azure NetApp Files est de 4 Tio. Azure NetApp Files est facturé en fonction de la taille provisionnée et non de la capacité utilisée.

Azure HPC Cache

Azure HPC Cache accélère l’accès à vos données pour les tâches HPC, avec toute la scalabilité des solutions cloud. Si vous choisissez cette solution de stockage, veillez à déployer votre cluster AKS dans une région qui prend en charge Azure HPC Cache.

Serveur NFS

La meilleure option pour un accès NFS partagé consiste à utiliser Azure Files ou Azure NetApp Files. Vous pouvez également créer un serveur NFS sur une machine virtuelle Azure qui exporte des volumes.

Sachez que cette option prend uniquement en charge le provisionnement statique. Vous devez provisionner les partages NFS manuellement sur le serveur, mais vous ne pouvez pas le faire automatiquement à partir d’AKS.

Cette solution est basée sur une offre IaaS (infrastructure as a service) au lieu d’une offre PaaS (platform as a service). Vous êtes responsable de la gestion du serveur NFS, notamment des mises à jour de l’OS, de la haute disponibilité, des sauvegardes, de la reprise d’activité après sinistre et de la scalabilité.

Solutions tierces

Tout comme Amazon EKS, AKS est une implémentation de Kubernetes, ce qui vous permet d’intégrer des solutions de stockage Kubernetes tierces. Voici quelques exemples de solutions de stockage tierces pour Kubernetes :

  • Rook transforme les systèmes de stockage distribué en services de stockage autogéré en automatisant les tâches d’administration du stockage. Rook offre ses services via un opérateur Kubernetes pour chaque fournisseur de stockage.
  • GlusterFS est un système de fichiers réseau scalable, gratuit et open source, qui utilise du matériel standard prêt à l’emploi pour la création de solutions de stockage distribué de grande envergure, destinées aux tâches intensives sur le plan des données et de la bande passante.
  • Ceph fournit un service de stockage unifié fiable et scalable avec des interfaces d’objet, de bloc et de fichier provenant d’un seul cluster créé à partir de composants matériels de base.
  • Le stockage d’objets multicloud MinIO permet aux entreprises de créer une infrastructure de données compatible AWS S3 sur n’importe quel cloud. Ainsi, vous pouvez disposer d’une interface cohérente et portable pour vos données et vos applications.
  • Portworx est une solution de stockage et de gestion des données de bout en bout pour les projets Kubernetes et les initiatives basées sur des conteneurs. Portworx propose un stockage de précision à l’aide de conteneurs, une reprise d’activité après sinistre, une sécurité des données et des migrations multiclouds.
  • Quobyte fournit un stockage de fichiers et d’objets hautes performances que vous pouvez déployer sur n’importe quel serveur ou cloud pour mettre à l’échelle des performances, gérer de grandes quantités de données et simplifier l’administration.
  • Ondat fournit une couche de stockage cohérente sur toutes les plateformes. Vous pouvez exécuter une base de données ou une charge de travail persistante dans un environnement Kubernetes sans avoir à gérer la couche de stockage.

Considérations relatives au stockage Kubernetes

Tenez compte des facteurs suivants quand vous choisissez une solution de stockage pour Amazon EKS ou AKS.

Modes d’accès aux classes de stockage

Dans Kubernetes 1.21 et les versions ultérieures, les classes de stockage AKS et Amazon EKS utilisent uniquement des pilotes CSI (Container Storage Interface) par défaut.

Différents services prennent en charge les classes de stockage ayant différents modes d’accès.

Service ReadWriteOnce ReadOnlyMany ReadWriteMany
Disques Azure X
Azure Files X X X
Azure NetApp Files X X X
Serveur NFS X X X
Azure HPC Cache X X X

Provisionnement dynamique ou statique

Provisionnez dynamiquement les volumes pour réduire la surcharge de gestion liée à la création statique de volumes persistants. Définissez une stratégie de récupération appropriée pour éviter d’avoir des disques inutilisés quand vous supprimez des pods.

Sauvegarde

Choisissez un outil pour sauvegarder les données persistantes. L’outil doit correspondre à votre type de stockage, par exemple les captures instantanées, Sauvegarde Azure, Velero ou Kasten.

Optimisation des coûts

Pour optimiser les coûts de stockage Azure, utilisez les réservations Azure. Veillez à vérifier les services qui prennent en charge les réservations Azure. Consultez également Gestion des coûts pour un cluster Kubernetes.

Contributeurs

Cet article est géré par Microsoft. Il a été écrit à l’origine par les contributeurs suivants.

Auteurs principaux :

Autres contributeurs :

Pour afficher les profils LinkedIn non publics, connectez-vous à LinkedIn.

Étapes suivantes