Meilleures pratiques relatives au stockage et aux sauvegardes dans Azure Kubernetes Service (AKS)
Article
Lorsque vous créez et gérez des clusters dans Azure Kubernetes Service (AKS), il est souvent nécessaire de stocker vos applications. Assurez-vous que vous comprenez les besoins en performances des pods et les méthodes d’accès afin de pouvoir sélectionner le meilleur stockage pour votre application. La taille du nœud AKS peut avoir une incidence sur vos choix de stockage. Planifiez des méthodes pour sauvegarder et tester le processus de restauration pour le stockage attaché.
Cet article traite des meilleures pratiques de stockage pour les opérateurs de clusters. Dans cet article, vous apprenez :
Les types de stockage disponibles.
Comment définir correctement la taille des nœuds AKS pour des performances de stockage optimales.
Les différences entre l’approvisionnement dynamique et statique des volumes.
Les méthodes de sauvegarde et de sécurisation de vos volumes de données.
Le choix du type de stockage adapté.
Conseils sur les bonnes pratiques
Identifiez les besoins de votre application pour choisir le stockage approprié. Utilisez un stockage sur disque SSD haute performance pour les charges de travail de production. Optez pour un stockage basé sur un réseau si vous avez besoin de multiples connexions simultanées.
Les applications nécessitent souvent différents types et vitesses de stockage. Déterminez le type de stockage le plus approprié en posant les questions suivantes.
Vos applications requièrent-elles un stockage qui se connecte à des pods individuels ?
Vos applications ont-elles besoin d’un stockage partagé sur plusieurs pods ?
Le stockage est-il destiné à un accès en lecture seule aux données ?
Le stockage sera-t-il utilisé pour écrire de grandes quantités de données structurées ?
Le tableau suivant présente les types de stockage disponibles et leurs fonctionnalités :
Cas d’utilisation
Plug-in de volume
Lecture/écriture unique
Nombreuses lectures seules
Nombreuses lectures/écritures
Prise en charge de conteneur Windows Server
Configuration partagée
Azure Files
Oui
Oui
Oui
Oui
Données d’application structurées
Disques Azure
Oui
No
Non
Oui
Données non structurées, opérations sur le système de fichiers
AKS fournit deux principaux types de stockage sécurisé pour les volumes reposant sur des disques Azure ou Azure Files. Les deux utilisent le chiffrement du service de stockage (SSE) Azure par défaut, qui chiffre les données au repos. Les disques ne peuvent pas être chiffrés à l’aide d’Azure Disk Encryption au niveau des nœuds AKS. Avec les partages de fichiers Azure, il n’y a pas de limites du nombre de partages pouvant être montés sur un nœud.
Azure Files et les disques Azure sont disponibles pour les niveaux de performance Standard et Premium :
Disques Premium
Assortis de disques SSD hautes performances.
Recommandé pour toutes les charges de travail de production.
Disques Standard
Assortis de disques à rotation normale (HDD).
Idéal pour les données d’archivage ou rarement consultées.
Alors que le niveau de stockage par défaut du pilote CSI Azure Disk est SSD Premium, votre StorageClass personnalisé peut utiliser SSD Premium, SSD Standard ou HDD Standard.
Identifiez les besoins de performances de votre application et les modèles d’accès pour choisir le niveau de stockage approprié. Pour plus d’informations sur les tailles et les niveaux de performance des disques managés, consultez Vue d’ensemble des disques managés Azure.
Créer et utiliser des classes de stockage pour définir les besoins des applications
Définissez le type de stockage souhaité à l’aide des classes de stockage Kubernetes. La classe de stockage est ensuite référencée dans la spécification du pod ou du déploiement. Les définitions de classe de stockage fonctionnent ensemble pour créer le stockage approprié et le connecter aux pods.
Dimensionner les nœuds en fonction des besoins de stockage
Conseils sur les bonnes pratiques
Chaque taille de nœud prend en charge un nombre maximal de disques. Différentes tailles de nœud fournissent également des quantités différentes de stockage local et de bande passante de réseau. Planifiez les exigences de votre application pour déployer la taille appropriée de nœuds.
Les nœuds AKS s’exécutent sous différents types et tailles de machines virtuelles Azure. Chaque taille de machine virtuelle fournit :
Une quantité différente de ressources fondamentales, comme le processeur et la mémoire.
Le nombre maximum de disques pouvant être connectés.
Selon les tailles de machine virtuelle, les performances de stockage varient également en matière d’IOPS (opérations d’entrée/sortie par seconde) maximal des disques locaux et attachés.
Si vos applications nécessitent des disques Azure comme solution de stockage, choisissez une taille de machine virtuelle de nœud appropriée. Les capacités de stockage et les quantités de processeur et de mémoire jouent un rôle majeur lorsque vous choisissez une taille de machine virtuelle.
Par exemple, si les tailles de machine virtuelle Standard_B2ms et Standard_DS2_v2 incluent une quantité similaire de ressources processeur et mémoire, leurs performances de stockage potentielles sont différentes :
Taille et type de nœud
Processeurs virtuels
Mémoire (Gio)
Disques de données max.
IOPS de disque non mis en cache max.
Débit non mis en cache max. (Mbits/s)
Standard_B2ms
2
8
4
1 920
22,5
Standard_DS2_v2
2
7
8
6 400
96
Dans cet exemple Standard_DS2_v2 offre deux fois plus de disques attachés, et trois à quatre fois le volume d’E/S par seconde et de débit de disque. Si vous comparez uniquement les principales ressources de calcul et que vous comparez les coûts, vous serez tenté de choisir la taille de machine virtuelle Standard_B2ms, mais les performances de stockage risquent d’être médiocres et de présenter des limitations.
Consultez votre équipe de développement d’application pour comprendre ses besoins de capacité de stockage et de performance. Choisissez la taille de machine virtuelle appropriée pour les nœuds AKS permettant de satisfaire ou de dépasser ses besoins de performance. Évaluez régulièrement les applications afin d’ajuster la taille de machine virtuelle en fonction des besoins.
Notes
Par défaut, la taille de disque et les performances des disques managés sont attribuées en fonction de la référence SKU de la machine virtuelle et du nombre de processeurs virtuels sélectionnés. Le dimensionnement du disque de système d’exploitation par défaut est utilisé uniquement sur les nouveaux clusters ou les pools de nœuds quand les disques de système d’exploitation éphémères ne sont pas pris en charge et qu’aucune taille de disque de système d’exploitation par défaut n’est spécifiée. Pour plus d’informations, consultez Dimensionnement du disque du système d’exploitation par défaut.
Pour réduire la charge de gestion et permettre la mise à l’échelle, évitez de créer et d’affecter des volumes persistants de manière statique. Optez pour un approvisionnement dynamique. Dans vos classes de stockage, définissez la stratégie de demande de récupération appropriée pour réduire les coûts de stockage inutiles une fois les pods supprimés.
Pour lier un stockage aux pods, utilisez des volumes persistants. Les volumes persistants peuvent être créés manuellement ou dynamiquement. La création manuelle de volumes persistants ajoute une surcharge de gestion et limite votre capacité d’ajustement. Utilisez plutôt un approvisionnement de volume persistant dynamique pour simplifier la gestion du stockage et permettre à vos applications de se développer et de s’ajuster en fonction des besoins.
Une revendication de volume persistant vous permet de créer des espaces de stockage de manière dynamique en fonction des besoins. Les disques Azure sous-jacents sont créés en fonction des requêtes des pods. Dans la définition de pod, demandez un volume à créer et à rattacher à un chemin d’accès de montage spécifique.
Pour en savoir plus sur les concepts relatifs à la création et à l’utilisation dynamique des volumes, consultez Revendications de volume persistant.
Pour voir ces volumes en action, découvrez comment créer et utiliser un volume persistant de manière dynamique avec des disques Azure ou Azure Files.
Dans le cadre de vos définitions de classe de stockage, définissez la propriété reclaimPolicy de manière appropriée. Cette stratégie de récupération contrôle le comportement de la ressource de stockage Azure sous-jacente quand le pod est supprimé. La ressource de stockage sous-jacente peut être supprimée ou conservée en vue de son utilisation par un pod futur. Définissez la valeur reclaimPolicy sur Conserver ou Supprimer.
Identifiez les besoins de votre application et implémentez des contrôles réguliers pour le stockage conservé afin de réduire la quantité de stockage non utilisée et facturée.
Sauvegardez vos données à l’aide d’un outil adapté à votre type de stockage, tel que Velero ou Sauvegarde Azure. Vérifiez l’intégrité et la sécurité de ces sauvegardes.
Lorsque vos applications stockent et exploitent des données conservées sur des disques ou dans des fichiers, vous devez effectuer des sauvegardes ou des captures instantanées régulières de ces données. Les disques Azure peuvent utiliser des technologies de capture instantanée intégrées. Vos applications pour pourraient avoir à vider les écritures sur le disque avant d’effectuer l’opération de capture instantanée. Velero peut sauvegarder des volumes persistants avec des ressources de cluster et des configurations supplémentaires. Si vous ne pouvez pas supprimer l’état de vos applications, sauvegardez les données à partir de volumes persistants et testez régulièrement les opérations de restauration pour vérifier l’intégrité des données et les processus nécessaires.
Identifiez les limitations des différentes approches en matière de sauvegarde de données et déterminez si vous devez suspendre vos données avant la capture instantanée. Les sauvegardes de données ne vous permettent pas nécessairement de restaurer votre environnement d’application de déploiement de cluster. Pour plus d’informations sur ces scénarios, consultez Best practices for business continuity and disaster recovery in AKS (Meilleures pratiques pour la continuité d’activité et la récupération d’urgence dans AKS).
La source de ce contenu se trouve sur GitHub, où vous pouvez également créer et examiner les problèmes et les demandes de tirage. Pour plus d’informations, consultez notre guide du contributeur.
Commentaires sur Azure Kubernetes Service
Azure Kubernetes Service est un projet open source. Sélectionnez un lien pour fournir des commentaires :
Découvrez les concepts de stockage qui vous aident à résoudre des problèmes réels avec des conteneurs Windows s’exécutant sur Azure Kubernetes Service (AKS) et AKS Hybrid.
Administrer une infrastructure de base de données SQL Server pour les bases de données relationnelles cloud, locales et hybrides à l’aide des offres de bases de données relationnelles Microsoft PaaS.