Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Restaurer un cluster Amazon EKS
Vous pouvez restaurer les sauvegardes du cluster EKS à l'aide de la AWS Backup console ou de l'interface de ligne de commande. Les sauvegardes EKS sont des points de restauration composites qui incluent à la fois l'état du cluster EKS et les sauvegardes de volumes persistantes.
AWS Backup prend en charge de multiples expériences de restauration, y compris des restaurations granulaires au niveau de l'espace de noms. Les restaurations ne sont pas destructives et n'écraseront aucun objet Kubernetes existant dans votre cluster EKS cible. Les restaurations n'écraseront pas non plus les versions Kubernetes du cluster EKS cible.
Les sauvegardes EKS doivent être restaurées sur un cluster EKS cible, c'est-à-dire un cluster Amazon EKS pré-provisionné. Dans le cadre du flux de restauration, vous pouvez choisir de créer un nouveau cluster EKS qui AWS Backup sera créé en votre nom.
Note
AWS Backup fournira un ensemble limité d'options pour créer un nouveau cluster EKS dans le cadre d'une restauration. Pour toutes les fonctionnalités de création de clusters EKS, les clients peuvent créer un nouveau cluster EKS à l'aide de la console EKS
Fonctionnalités de restauration pour Amazon EKS
| Type de restauration | Restaurer la cible | Restaurer le comportement |
|---|---|---|
| Restauration d'un cluster existant | Restaurez vers le cluster EKS source ou le cluster EKS existant | Restaure toutes les ressources Kubernetes et les volumes persistants sur les clusters EKS existants. Toutes les restaurations ne sont pas destructives et les objets existants ne sont pas remplacés. Pour les objets ignorés, vous pouvez vous abonner aux notifications SNS |
| Restauration d'un nouveau cluster | Crée un nouveau cluster Amazon EKS dans le cadre de votre restauration EKS | Restore crée un nouveau cluster EKS et restaure toutes les ressources Kubernetes et les volumes persistants dans le cluster nouvellement créé |
| Restauration de l'espace de noms | Cluster Amazon EKS existant | Restaure uniquement les espaces de noms spécifiés, leurs ressources Kubernetes et les restaurations de stockage persistantes correspondantes ne sont pas destructives et les objets existants ne sont pas remplacés. Pour les objets ignorés, vous pouvez vous abonner aux notifications SNS |
| Restauration persistante du stockage | Dépendant du stockage persistant | Restaurez le stockage persistant individuel sous forme de restaurations autonomes. Consultez la section Restaurer le comportement d'Amazon EBS, Amazon S3 et Amazon EFS. |
Autorisations
Les autorisations requises dépendent du type de restauration et de la destination cible.
-
AWS Backup de la politique gérée AWSBackupServiceRolePolicyForRestores contient les autorisations requises pour restaurer votre cluster Amazon EKS et le stockage persistant EBS et EFS.
-
Si votre cluster EKS contient un compartiment S3, ou si vous restaurez le point de restauration S3 de l'enfant seul, vous devrez vous assurer que les politiques ou autorisations suivantes sont attribuées à votre rôle AWSBackupServiceRolePolicyForS3Restore.
Considérations avant la restauration
Avant de commencer une tâche de restauration EKS, vérifiez les points suivants. Si vous restaurez une sauvegarde EKS qui a été copiée d'un compte ou d'une région à l'autre, assurez-vous de vérifier ces points avant toute restauration afin d'éviter tout échec de restauration.
-
Rôles IAM : lors de la restauration sur un autre cluster, les rôles IAM utilisés dans le cluster source (tels que Pod identity, IRSA). Les configurations du fournisseur OIDC, etc.) doivent être présents dans le compte/la région en tant que cluster de destination.
-
Assurez-vous de la version et de la compatibilité d'EKS : les versions d'API des objets que vous souhaitez restaurer doivent être identiques (ou aussi proches que possible) et prises en charge dans le nouveau cluster. AWS Backup effectuera de son mieux pour effectuer une restauration entre les versions d'EKS, bien que des problèmes de compatibilité puissent survenir lors de la restauration entre des versions sensiblement différentes.
-
Classes de stockage correspondantes : pour les restaurations sur un cluster EKS existant, assurez-vous que les modules complémentaires du pilote de stockage CSI appropriés sont installés avant la restauration
-
Compartiments S3 : lors de la restauration d'un cluster EKS avec des compartiments S3, assurez-vous que votre compartiment S3 est versionné et accessible dans le compte ou la région de destination.
-
Référentiel d'images : lors de la restauration d'un cluster EKS, assurez-vous que le compte ou la région du cluster EKS de destination a accès aux images référencées dans le cadre de la restauration. Vérifiez que votre registre dispose des autorisations nécessaires entre les régions et les règles de compte.
-
Groupes de sécurité : les groupes de sécurité doivent être pré-créés pour ALB, Pod Identities, EKS Node Groups, etc. dans le compte et la région cibles si vous créez un nouveau cluster EKS dans le cadre de votre restauration
-
Zones de disponibilité et nœuds EBS : les zones de disponibilité dans lesquelles vous restaurez vos volumes EBS doivent être mappées à la zone de disponibilité d'un nœud EKS existant
-
Non-destructive restaurations : toutes les restaurations EKS seront non destructives et n'écraseront pas les objets Kubernetes de la restauration cible.
-
Activer les journaux d'audit EKS : activez les journaux d'audit EKS pour une journalisation et un dépannage supplémentaires avant la restauration. Vous pouvez également vous abonner aux notifications SNS pour signaler les objets ignorés ou ayant échoué lors de la restauration.
-
Tampon de restauration pour la création d'un nouveau cluster EKS : lors de la création d'un nouveau cluster EKS pendant la restauration, AWS Backup introduit une mémoire tampon de 15 minutes une fois que le cluster EKS atteint un état disponible, mais avant de créer des ressources EKS supplémentaires. Ce tampon garantit que tous les composants EKS sous-jacents sont entièrement initialisés avant la création de ressources dépendantes.
-
Données utilisateur dans le modèle de lancement : lorsque vous créez un groupe de nœuds à l'aide d'un modèle de lancement, ne le spécifiez pas
spec.clusterdans la section des données utilisateur du modèle de lancement. Amazon EKS injecte automatiquement les paramètres d'identité du cluster (apiServerEndpointcertificateAuthority, etserviceIpv4Cidr) et les fusionne avec toutes les configurations supplémentaires définies dans les données utilisateur.
Configurations EKS
Lorsque vous restaurez l'Amazon composite AWS Backup, vous choisissez le type de restauration et la destination cible. Vous pouvez choisir de restaurer le cluster EKS source, un cluster EKS existant ou de créer un nouveau cluster EKS comme cible de restauration. Pour les nouveaux clusters EKS, vous pouvez choisir d'utiliser les mêmes paramètres d'infrastructure existants (par exemple, VPC, sous-réseaux) que le cluster sauvegardé ou d'en configurer de nouveaux. AWS Backup est conçu pour effectuer une restauration non destructive qui ne remplace pas les ressources existantes.
Pour les restaurations d'espaces de noms, vous pouvez spécifier jusqu'à 5 espaces de noms à restaurer de manière sélective. Seules les ressources limitées à l'espace de noms sont restaurées, tandis que les ressources à l'échelle du cluster sont exclues, à l'exception des volumes persistants associés.
En tant que paramètre avancé, vous pouvez choisir de modifier l'ordre de restauration des objets Kubernetes. Par défaut, AWS Backup restaurera tous les objets Kubernetes dans l'ordre suivant :
Ressources Kubernetes à portée de cluster
-
Définitions de ressources personnalisées
-
Espaces de noms (l'espace de noms lui-même, pas les ressources qu'il contient)
-
StorageClasses
-
PersistentVolumes
Ressources Kubernetes à portée de namespace
-
PersistentVolumeClaims
-
Secrets
-
ConfigMaps
-
ServiceAccounts
-
LimitRanges
-
Gousses
-
ReplicaSets
Configurations de stockage persistantes
Dans le cadre de la restauration de la sauvegarde composite Amazon EKS, la deuxième étape consistera à configurer vos configurations de stockage persistant. Cela varie en fonction du stockage persistant sauvegardé dans le cadre de votre cluster EKS.
Pour les instantanés Amazon EBS, vous devez fournir une zone de disponibilité dans laquelle le volume Amazon EBS sera restauré et créé. AWS Backup tentera ensuite de créer le pod EKS dans la même zone de disponibilité que celle sélectionnée afin que votre volume puisse être remonté sur votre cluster EKS dans le cadre de la restauration.
Dans le cadre de la restauration, vos volumes Amazon EBS et vos compartiments Amazon S3 AWS Backup seront remontés sur votre cluster EKS restauré. Les systèmes de fichiers Amazon EFS sont restaurés avec des préfixes aléatoires et nécessitent la création manuelle d'un point d'accès après la restauration pour être remontés sur votre cluster EKS. AWS Backup ne crée pas de points d'accès et ne monte pas de cibles en votre nom. Reportez-vous aux instructions fournies ici pour les points d'accès et les cibles de montage.
Procédure de restauration Amazon EKS
Suivez ces étapes pour restaurer les sauvegardes Amazon EKS à l'aide de la AWS Backup console ou AWS CLI :
Vous pouvez vous abonner à des événements de notification pour les objets échoués ou ignorés à restaurer. Pour plus d'informations, consultez la section Options de notification avec AWS Backup.
Messages d'état de restauration d'Amazon EKS
Lorsqu'une tâche de restauration est terminée, les messages d'état suivants peuvent s'afficher. Le tableau présente les scénarios possibles et les valeurs de statut de poste correspondantes :
| Scénario | Statut de la tâche | Exemple de message |
|---|---|---|
| Tous les objets ont été restaurés avec succès | TERMINÉ | — |
| Un ou plusieurs objets n'ont pas pu être restaurés | TERMINÉ | « Un ou plusieurs objets Kubernetes n'ont pas pu être restaurés. Pour être averti de ces échecs, activez les notifications d'événements SNS. » |
| La restauration n'a pas pu être terminée | ÉCHEC | (détails de l'erreur) |
Objets ignorés lors de la restauration
Les objets Kubernetes suivants sont restaurés dans les meilleurs délais. S'ils ne parviennent pas à être restaurés, ils sont déplacés vers la liste ignorée. Ces objets sont gérés par le système et recréés par Kubernetes ou Amazon EKS :
-
FlowSchemas avec l'
apf.kubernetes.io/autoupdate-spec: "true"annotation -
PriorityLevelConfigurations avec l'
apf.kubernetes.io/autoupdate-spec: "true"annotation -
Le
eks-exemptFlowSchema (EKS-managed, fait référence à l'exempté protégé PriorityLevelConfiguration) -
Le
kubernetesservice dans l'defaultespace de noms (point de terminaison du serveur API) -
Le
kube-dnsservice dans l'espace dekube-systemnoms (CoreDNS)
Les objets Kubernetes suivants sont toujours ignorés lors d'une restauration. Ces objets incluent l'infrastructure des nœuds et les composants réseau. Ils font référence à l'état spécifique du cluster. Les contrôleurs Kubernetes recréent automatiquement ces objets lorsque des nœuds et des services deviennent actifs dans le cluster cible. Si vous restaurez ces objets à partir d'une sauvegarde, ils peuvent provoquer des conflits ou des erreurs. Ces conflits se produisent parce que les objets restaurés font référence à des ressources qui n'existent pas sur le cluster cible.
-
Points de terminaison (
v1/endpoints) : points de terminaison du réseau qui définissent les adresses IP des services. Le contrôleur Endpoints les gère automatiquement en fonction des sélecteurs de service. -
EndpointSlices (
discovery.k8s.io/v1/endpointslices) - Le EndpointSlice contrôleur gère automatiquement ces objets. -
IPAddresses (
networking.k8s.io/v1/ipaddresses) : le réseau Kubernetes gère ces allocations IP internes au cluster. -
CSINodes (
storage.k8s.io/v1/csinodes) - Le kubelet crée automatiquement ces objets lorsque les pilotes CSI s'enregistrent sur un nœud. -
VolumeAttachments (
storage.k8s.io/v1/volumeattachments) - Le attach/detach contrôleur crée automatiquement ces objets lorsque les pods nécessitent des volumes.
Les objets qui existent déjà sur le cluster cible sont également ignorés. Les restaurations EKS ne sont pas destructives : les objets existants ne sont jamais remplacés ni supprimés.
Pour recevoir des notifications concernant des objets ignorés ou ayant échoué lors de la restauration, abonnez-vous aux notifications d'événements SNS. Pour plus d'informations, consultez la section Options de notification avec AWS Backup.
Considérations relatives à l'OIDC et à l'IRSA pour la restauration entre clusters
Lors de la restauration d'une sauvegarde Amazon EKS sur un cluster différent de la source, les objets Kubernetes faisant référence à IAM Roles for Service Accounts (IRSA) conservent le point de terminaison du fournisseur OIDC du cluster source. Ces références existent dans les annotations des comptes de service et les politiques de confiance IAM. AWS Backup ne les met pas automatiquement à jour lors de la restauration.
Si vos charges de travail utilisent IRSA, une restauration inter-clusters nécessite :
-
Un fournisseur OIDC doit être configuré pour le cluster de destination.
-
Tous les rôles IAM référencés par les comptes de service Kubernetes doivent voir leurs politiques de confiance mises à jour pour inclure le point de terminaison du fournisseur OIDC du cluster de destination.
-
Les annotations du compte de service (
eks.amazonaws.com/role-arn) feront toujours référence aux rôles d'origine. Vérifiez qu'ils correspondent à des rôles valides dans le compte de destination.
Si ces dépendances ne sont pas satisfaites, les pods n'assumeront pas les rôles IAM après la restauration, et les tâches de restauration peuvent signaler des échecs lors de la validation.
Recommandation : pour les charges de travail qui nécessitent une portabilité de restauration entre clusters ou entre comptes, nous recommandons d'utiliser EKS Pod Identity au lieu d'IRSA. EKS Pod Identity ne dépend pas de fournisseurs OIDC spécifiques au cluster et simplifie les scénarios de restauration entre clusters.