Partager via


Vue d’ensemble des zones de disponibilité dans Azure Kubernetes Service (AKS)

Cet article offre une vue d’ensemble de l’utilisation des zones de disponibilité dans Azure Kubernetes Service (AKS) en vue d’accroître la disponibilité de vos applications.

Un cluster AKS répartit les ressources, telles que les nœuds et le stockage, entre des sections logiques de l’infrastructure Azure sous-jacente. L’utilisation de zones de disponibilité sépare physiquement les nœuds des autres nœuds déployés dans des zones de disponibilité différentes. Les clusters AKS déployés avec plusieurs zones de disponibilité configurées sur un cluster offrent un niveau plus élevé de disponibilité pour se protéger contre une défaillance matérielle ou un événement de maintenance planifiée.

Que sont les zones de disponibilité ?

Les zones de disponibilité contribuent à protéger les applications et les données contre les défaillances de centre de données. Les zones sont des emplacements physiques uniques au sein d’une région Azure. Chaque zone comprend un ou plusieurs centres de données, équipés d’une alimentation, d’un système de refroidissement et d’un réseau indépendants. Pour garantir la résilience, il existe toujours plus d’une zone dans toutes les régions activées. La séparation physique des zones de disponibilité dans une région protège les applications et les données des défaillances dans le centre de données.

Les clusters AKS déployés en utilisant des zones de disponibilité peuvent répartir les nœuds sur plusieurs zones au sein d’une même région. Par exemple, un cluster dans la région USA Est 2 peut créer des nœuds dans les trois zones de disponibilité de USA Est 2. Cette distribution des ressources du cluster AKS améliore la disponibilité du cluster car elles résistent aux défaillances d'une zone spécifique.

Diagramme illustrant la répartition des nœuds AKS entre les zones de disponibilité.

Si une zone devient indisponible, vos applications continuent à s’exécuter sur les clusters configurés pour être répartis sur plusieurs zones.

Pour plus d’informations, consultez Utilisation de zones de disponibilité Azure.

Remarque

Lors de l’implémentation de zones de disponibilité avec l’autoscaler de cluster, nous vous recommandons d’utiliser un pool de nœuds unique pour chaque zone. Vous pouvez définir le paramètre --balance-similar-node-groups sur true pour maintenir une distribution équilibrée des nœuds entre les zones de vos charges de travail pendant les opérations de scale-up. Lorsque cette approche n’est pas implémentée, les opérations de scale-down peuvent perturber l’équilibre des nœuds entre les zones. Cette configuration ne garantit pas que les groupes de nœuds similaires auront le même nombre de nœuds :

  • Pour l’heure, l’équilibrage se produit uniquement durant les opérations de scale-up. L’autoscaler de cluster effectue un scale-down sur les nœuds sous-utilisés, indépendamment de la taille relative des groupes de nœuds.
  • L’autoscaler de cluster ajoute uniquement le nombre de nœuds nécessaire pour exécuter tous les pods existants. Certains groupes peuvent disposer d’un plus grand nombre de nœuds que d’autres s’ils ont plus de pods planifiés.
  • L’autoscaler de cluster assure uniquement un équilibrage entre les groupes de nœuds qui peuvent prendre en charge le même ensemble de pods en attente.

Vous pouvez aussi utiliser des disques de stockage redondant interzone (ZRS) pour répliquer votre stockage dans trois zones de disponibilité de la région de votre choix. Un disque ZRS vous permet de récupérer d’une défaillance de zone de disponibilité sans perte de données. Pour plus d’informations, consultez Stockage ZRS pour les disques managés.

Limites

Les limitations suivantes s'appliquent lorsque vous créez un cluster AKS à l'aide de zones de disponibilité :

  • Vous pouvez définir des zones de disponibilité seulement lors de la création du pool de clusters ou de nœuds.
  • Il n’est pas possible de mettre à jour un cluster sans zone de disponibilité existant pour qu’il utilise des zones de disponibilité après qu’il a été créé.
  • La taille de nœud (référence SKU de la machine virtuelle) choisie doit être disponible dans toutes les zones de disponibilité sélectionnées.
  • Les clusters avec des zones de disponibilité activées nécessitent l’utilisation d’équilibreurs de charge Standard Azure pour la distribution entre les zones. Vous pouvez définir ce type d’équilibreur de charge seulement au moment de la création du cluster. Pour plus d'informations et connaître les limites de l’équilibreur de charge Standard, consultez Limites de la référence SKU Standard de l’équilibreur de charge Azure.

Prise en charge des zones de disponibilité des disques Azure

Les volumes qui utilisent des disques LRS (stockage localement redondant) managés Azure ne sont pas des ressources redondantes interzones, et l’attachement à plusieurs zones n’est pas pris en charge. Vous devez colocaliser les volumes dans la même zone que le nœud spécifié hébergeant le pod cible. Les volumes qui utilisent des disques ZRS managés par Azure sont des ressources redondantes interzones. Vous pouvez planifier ces volumes sur tous les nœuds de l’agent de zone et de non-zone. L’exemple suivant montre comment créer une classe de stockage en utilisant le disque StandardSSD_ZRS :

apiVersion: storage.k8s.io/v1
kind: StorageClass
metadata:
  name: managed-csi-zrs
provisioner: disk.csi.azure.com
parameters:
  skuName: StandardSSD_ZRS  # or Premium_ZRS
reclaimPolicy: Delete
volumeBindingMode: WaitForFirstConsumer
allowVolumeExpansion: true

Kubernetes versions 1.12 et supérieures prennent en charge les zones de disponibilité Azure. Vous pouvez déployer un objet PersistentVolumeClaim référençant un disque managé Azure dans un cluster AKS à plusieurs zones, et Kubernetes s’occupera de la planification des pods qui revendiquent cette PVC dans la zone de disponibilité correcte.

À compter de Kubernetes version 1.29, quand vous déployez des clusters Azure Kubernetes Service (AKS) sur plusieurs zones de disponibilité, AKS utilise désormais le stockage redondant interzone (ZRS) pour créer des disques managés dans des classes de stockage intégrées. ZRS garantit la réplication synchrone de vos disques managés Azure sur plusieurs zones de disponibilité Azure dans la région de votre choix. Cette stratégie de redondance renforce la résilience de vos applications et protège vos données contre les défaillances du centre de données.

Toutefois, il est important de noter que le stockage redondant interzone (ZRS) est plus coûteux que le stockage localement redondant (LRS). Si l’optimisation des coûts est une priorité, vous pouvez créer une classe de stockage avec le paramètre skuname défini sur LRS. Vous pouvez ensuite utiliser la nouvelle classe de stockage dans votre revendication de volume persistant (PVC).

Étapes suivantes