Partager via


Restaurer l’état des clusters Kubernetes après un sinistre

S’applique à : AKS sur Azure Stack HCI 22H2, AKS sur Windows Server

Dans AKS sur Azure Stack HCI ou Windows Server, le cluster de gestion est déployé en tant que machine virtuelle autonome unique par déploiement, ce qui en fait un point de défaillance unique. Il est important de noter qu’une panne de cluster de gestion n’a aucun impact sur les applications s’exécutant dans les clusters de charge de travail. Lorsque la machine virtuelle du cluster de gestion échoue, les clusters de charge de travail (et charges de travail) continuent d’être en cours d’exécution, mais vous ne pouvez pas effectuer d’opérations quotidiennes. Par exemple, vous ne pouvez pas créer de clusters de charge de travail, créer ou mettre à l’échelle un pool de nœuds ou mettre à niveau des versions de Kubernetes tant que la machine virtuelle n’est pas restaurée.

Le cluster de gestion est une machine virtuelle suivie dans le clustering de basculement Windows. Elle est également résiliente aux perturbations au niveau de l’hôte. En d’autres termes, lors d’une défaillance de machine hôte, le clustering de basculement Windows redémarre la machine virtuelle sur une machine hôte saine. Cet article fournit des conseils sur la façon d’effectuer les tâches suivantes :

  • Restaurez l’état d’AKS sur le nouveau matériel (il peut s’agir d’un nouveau site).
  • Récupérer contre l’altération du cluster de gestion.

Dans l’un de ces scénarios, vous devez recréer le cluster de gestion et tous les clusters de charge de travail.

Restaurer l’état d’AKS sur un nouveau matériel ou un nouveau site

La récupération de l’état des clusters Kubernetes nécessite qu’un cluster de gestion soit disponible sur le nouveau matériel ou sur le nouvel emplacement.

  • AKS prend en charge la sauvegarde de clusters Kubernetes dans Stockage Blob Azure et MinIO à l’aide de Velero. Microsoft recommande de sauvegarder Stockage Azure, car il fournit 3 copies redondantes de données dans la région de stockage principale.
  • Envisagez d’exécuter la sauvegarde sur un travail cron pour garantir que les sauvegardes disponibles répondent aux objectifs du point de récupération.

Prérequis

Préparez le secours à froid à l’avance d’un sinistre en créant un cluster de gestion et un cluster de charge de travail vide. Vous avez besoin d’un cluster de charge de travail vide pour chaque cluster Kubernetes que vous souhaitez restaurer à partir de la sauvegarde. Les prérequis suivants sont obligatoires :

Récupérer à partir de l’altération du cluster de gestion

La récupération à partir d’une altération d’un cluster de gestion nécessite la désinstallation d’AKS et la réinstallation du cluster de gestion et de tous les clusters de charge de travail. Les clusters de charge de travail peuvent être restaurés dans des clusters de charge de travail vides à partir de sauvegardes Velero.

Les prérequis suivants sont obligatoires :

  • Sauvegardes de cluster de charge de travail : sauvegarder, restaurer des clusters de charge de travail à l’aide de Velero.
  • Sauvegarde de la configuration AKS pour les paramètres de mise en réseau, de stockage et de cluster précédents. Les paramètres du cluster incluent des tailles et des nombres de plans de contrôle, d’équilibreur de charge et de machines virtuelles de nœud Worker. Par exemple, si votre ancien cluster avait 3 machines virtuelles de plan de contrôle Standard_A2_V2 , vous devez créer 3 machines virtuelles de plan de contrôle dans le nouvel environnement.

Pour récupérer à partir de l’altération du cluster de gestion, procédez comme suit :

  • Désinstaller AKS : Uninstall-AksHci.
  • Installez un nouveau cluster de gestion AKS à l’aide des étapes 1 à 5 de cet article : utilisez PowerShell pour configurer Kubernetes sur des clusters AKS.
  • Créez le cluster de charge de travail avec les pools de nœuds requis à l’étape 6 de cet article. Vous avez besoin d’un cluster de charge de travail distinct pour chaque cluster de charge de travail que vous restaurez à partir de la sauvegarde.
  • Vous pouvez configurer plusieurs machines virtuelles de plan de contrôle et machines virtuelles d’équilibreur de charge de travail lors de la création du cluster de charge de travail à l’aide de cet article : New-AksHciCluster pour AKS.
  • Configurez le stockage requis :
  • Restaurez tous les clusters de charge de travail à partir de la sauvegarde.

Forum aux questions

Quelle résilience est intégrée au cluster de gestion ?

Chaque déploiement AKS inclut un cluster de gestion qui est une machine virtuelle autonome unique. Pour la résilience et la haute disponibilité, AKS s’appuie sur le clustering de basculement Windows pour récupérer la machine virtuelle en cas d’interruption.

Une panne de cluster de gestion n’a aucun impact sur les applications s’exécutant dans des clusters de charge de travail. Lorsque la machine virtuelle du cluster de gestion tombe en panne, cela a un impact sur votre capacité à effectuer des opérations AKS Day 2, telles que la création de clusters de charge de travail, la création ou la mise à l’échelle de pools de nœuds, la mise à niveau des versions de Kubernetes, etc., jusqu’à ce que la machine virtuelle soit récupérée. Dans les cas où vous ne parvenez pas à récupérer à partir d’un échec de cluster de gestion, nous vous recommandons de contacter Support Microsoft.

Qu’est-ce qui est inclus dans une sauvegarde Velero ?

Nom du fichier Description du contenu
*-csi-volumesnapshotclasses.json.gz Les fichiers contenant csi sont les instantanés de volume persistant.
*-csi-volumesnapshotcontents.json.gz Les fichiers contenant csi sont des instantanés de volume persistants.
*-csi-volumesnapshots.json.gz Les fichiers contenant csi sont les instantanés de volume persistant.
*-logs.gz Sortie du journal de l’opération de sauvegarde. Mêmes données de l’exécution : velero backup log <backupname>.
*-podvolumebackups.json.gz Métadonnées sur les pods et les volumes persistants.
*-resource-list.json.gz Les ressources contenues dans une sauvegarde sont répertoriées dans ce fichier.
*-volumesnapshots.json.gz Métadonnées sur les pods et les volumes persistants.
*.tar.gz Métadonnées : espace de noms, nombre de réplicas de pod, mémoire, processeur. Mêmes données que celles retournées par : kubectl get deployment.

Qu’est-ce qui n’est pas inclus dans les sauvegardes Velero ?

La sauvegarde Velero n’inclut pas les éléments suivants :

  • Configuration du cluster de gestion (AKS)
  • Métadonnées de machine virtuelle de plan de contrôle (serveur d’API)
  • Métadonnées de l’équilibreur de charge (proxy HA)
  • Paramètres réseau
  • Paramètres de stockage

Comment faire sauvegarder la configuration AKS avant un sinistre ?

Pour sauvegarder la configuration du cluster de gestion, ouvrez une fenêtre PowerShell et exécutez la commande suivante :

Get-AksHciConfig | ConvertTo-Json 

Comment faire vous assurer que le cluster de charge de travail a la même configuration qu’avant un sinistre ?

Pour sauvegarder la configuration du cluster de charge de travail, ouvrez une fenêtre PowerShell et exécutez la commande suivante :

Get-AksHciCluster -name <cluster name> | ConvertTo-Json 

Étapes suivantes