Ripristina un cluster Amazon EKS - AWS Backup

Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.

Ripristina un cluster Amazon EKS

È possibile ripristinare i backup dei cluster EKS utilizzando la AWS Backup console o la CLI. I backup EKS sono punti di ripristino compositi che includono sia backup dello stato del cluster EKS che backup di volume persistente.

AWS Backup supporta diverse esperienze di ripristino, inclusi ripristini granulari a livello di namespace. I ripristini non sono distruttivi e non sovrascrivono alcun oggetto Kubernetes esistente nel cluster EKS di destinazione. Inoltre, i ripristini non sovrascriveranno le versioni Kubernetes del cluster EKS di destinazione.

I backup EKS devono essere ripristinati su un cluster EKS di destinazione, ovvero su un cluster Amazon EKS che è stato predisposto. Come parte del flusso di lavoro di ripristino, puoi scegliere di creare un nuovo cluster EKS che AWS Backup verrà creato per tuo conto.

Nota

AWS Backup fornirà un set limitato di opzioni per la creazione di un nuovo cluster EKS come parte di un ripristino. Per tutte le funzionalità di creazione di cluster EKS, i clienti possono creare un nuovo cluster EKS utilizzando la console EKS o APIs selezionarlo come obiettivo di ripristino.

Funzionalità di ripristino per Amazon EKS

Tipo di ripristino Ripristina l'obiettivo Ripristina il comportamento
Ripristino del cluster esistente Ripristina nel cluster EKS di origine o nel cluster EKS esistente Ripristina tutte le risorse Kubernetes e i volumi persistenti nei cluster EKS esistenti. Tutti i ripristini non sono distruttivi e gli oggetti esistenti non vengono sovrascritti. Per gli oggetti che vengono ignorati, è possibile sottoscrivere le notifiche SNS
Nuovo ripristino del cluster Crea un nuovo cluster Amazon EKS come parte del ripristino EKS Restore crea un nuovo cluster EKS e ripristina tutte le risorse Kubernetes e i volumi persistenti nel cluster appena creato
Ripristino dello spazio dei nomi Cluster Amazon EKS esistente Ripristina solo i namespace specificati, le relative risorse Kubernetes e i corrispondenti ripristini di storage persistenti non sono distruttivi e gli oggetti esistenti non vengono sovrascritti. Per gli oggetti che vengono ignorati, puoi iscriverti a SNS Notifcations
Ripristino persistente dell'archiviazione Dipende dallo storage persistente Ripristina lo storage persistente individuale come ripristini autonomi. Vedi il comportamento di ripristino di Amazon EBS, Amazon S3, Amazon EFS.

Autorizzazioni

Le autorizzazioni richieste dipendono dal tipo di ripristino e dalla destinazione di destinazione.

Considerazioni prima del ripristino

Prima di iniziare un processo di ripristino EKS, esaminate quanto segue. Se stai ripristinando un backup EKS che è stato copiato su più account o regioni, assicurati di controllare queste considerazioni prima dei ripristini per evitare errori di ripristino.

  1. Ruoli IAM: durante il ripristino su un cluster diverso, i ruoli IAM utilizzati nel cluster di origine (come Pod identity, IRSA). Le configurazioni del provider OIDC, ecc.) devono essere presenti nell'account o nella regione come cluster di destinazione.

  2. Garantisci la versione e la compatibilità EKS: le versioni API degli oggetti che desideri ripristinare devono essere la stessa versione (o la più simile possibile) e supportate nel nuovo cluster. AWS Backup eseguirà al meglio il ripristino tra le versioni EKS, sebbene possano sorgere problemi di compatibilità durante il ripristino tra versioni significativamente diverse.

  3. Classi di storage corrispondenti: per i ripristini su un cluster EKS esistente, assicuratevi che i componenti aggiuntivi CSI Storage Driver appropriati siano installati prima del ripristino

  4. Bucket S3: quando ripristini un cluster EKS con bucket S3, assicurati che il bucket S3 abbia una versione e sia accessibile nell'account o nella regione di destinazione.

  5. Archivio di immagini: quando ripristini un cluster EKS, assicurati che l'account o la regione del cluster EKS di destinazione abbia accesso alle immagini a cui si fa riferimento nell'ambito del ripristino. Verificate che il registro disponga delle autorizzazioni necessarie per le politiche interregionali o relative agli account.

  6. Gruppi di sicurezza: i gruppi di sicurezza devono essere precreati per ALB, Pod Identities, EKS Node Groups ecc. nell'account e nella regione di destinazione se si crea un nuovo cluster EKS come parte del ripristino

  7. Zone e nodi di disponibilità EBS: le zone di disponibilità in cui recuperare i volumi EBS devono essere mappate alla zona di disponibilità di un nodo EKS esistente

  8. Ripristini non distruttivi: tutti i ripristini EKS saranno non distruttivi e non sovrascriveranno gli oggetti Kubernetes del ripristino di destinazione.

  9. Abilita i registri di controllo EKS: abilita i registri di controllo EKS per ulteriori registrazioni e risoluzione dei problemi prima del ripristino. È inoltre possibile abbonarsi alle notifiche SNS per notificare gli oggetti ignorati o non riusciti durante il ripristino.

Configurazioni EKS

Quando ripristini l'Amazon composito AWS Backup, scegli il tipo di ripristino e la destinazione di destinazione. Puoi scegliere di eseguire il ripristino sul cluster EKS di origine, su un cluster EKS esistente o creare un nuovo cluster EKS come destinazione di ripristino. Per i nuovi cluster EKS, puoi scegliere di utilizzare le stesse impostazioni dell'infrastruttura esistenti (ad esempio VPC, sottoreti) del cluster di backup o configurarne di nuove. AWS Backup eseguirà sempre un ripristino non distruttivo che non sovrascriva le risorse esistenti.

Per i ripristini dello spazio dei nomi, puoi specificare fino a 5 namespace da ripristinare in modo selettivo. Vengono ripristinate solo le risorse con ambito namespace, mentre le risorse con ambito cluster vengono escluse ad eccezione dei volumi persistenti correlati.

Come impostazione avanzata, puoi scegliere di modificare l'ordine di ripristino degli oggetti Kubernetes. Per impostazione predefinita, AWS Backup ripristinerà tutti gli oggetti Kubernetes nel seguente ordine:

Risorse Kubernetes con ambito cluster

  1. Definizioni di risorse personalizzate

  2. Namespace (lo spazio dei nomi stesso, non le risorse all'interno di tale spazio dei nomi)

  3. StorageClasses

  4. PersistentVolumes

Risorse Kubernetes con ambito di namespace

  1. PersistentVolumeClaims

  2. Segreti

  3. ConfigMaps

  4. ServiceAccounts

  5. LimitRanges

  6. Pod

  7. ReplicaSets

Configurazioni di storage persistenti

Come parte del backup ripristino composito di Amazon EKS, il secondo passaggio consisterà nella configurazione delle configurazioni di Persistent Storage. Questo varierà in base allo storage persistente di cui è stato eseguito il backup come parte del cluster EKS.

Per gli snapshot di Amazon EBS è necessario fornire una zona di disponibilità, in cui ripristinare e creare il volume Amazon EBS. AWS Backup tenterà quindi di creare il pod EKS nella stessa zona di disponibilità selezionata in modo che il volume possa essere rimontato sul cluster EKS come parte del ripristino.

Come parte del ripristino, AWS Backup rimonterà i volumi Amazon EBS e i bucket Amazon S3 sul cluster EKS ripristinato. I file system Amazon EFS eseguono il ripristino su prefissi casuali e richiedono la creazione manuale dei punti di accesso dopo il ripristino per il rimontaggio sul cluster EKS. AWS Backup non crea punti di accesso o monta destinazioni per tuo conto, consulta le linee guida qui per i punti di accesso e le destinazioni di montaggio.

Procedura di ripristino Amazon EKS

Segui questi passaggi per ripristinare i backup di Amazon EKS utilizzando la AWS Backup console o AWS CLI:

Console
Per ripristinare il tuo cluster Amazon EKS
  1. Apri la AWS Backup console in https://console.aws.amazon.com/backup.

  2. Nel riquadro di navigazione scegliere Backup vaults (Vault di backup).

  3. Scegli l'archivio di backup che contiene il tuo backup Amazon EKS, quindi seleziona il punto di ripristino per il tuo backup Amazon EKS.

  4. Scegli Restore (Ripristina).

  5. Nel riquadro Opzioni di ripristino, scegli il tipo di ripristino:

    • Ripristina il cluster EKS completo: ripristina l'intero punto di ripristino composito Amazon EKS

    • Seleziona i namespace da ripristinare: ripristina fino a cinque namespace specifici

  6. Configura la destinazione di destinazione:

    • Per il ripristino del cluster, scegli di creare un nuovo cluster o utilizzare un cluster esistente

    • Per i nuovi cluster, specifica il nome del cluster, la versione di Kubernetes, la configurazione VPC, i ruoli IAM, le sottoreti, i gruppi di sicurezza aggiuntivi, le impostazioni del gruppo di nodi, i profili fargate e i ruoli IAM di Pod identity

    • Per i cluster esistenti, seleziona il cluster di destinazione dal menu a discesa

    • Per il ripristino dello spazio dei nomi, specifica i nomi del cluster di destinazione e dello spazio dei nomi

  7. Facoltativamente, configura le impostazioni avanzate per l'ordine di ripristino personalizzato per le risorse Kubernetes.

  8. Scegli il ruolo di ripristino IAM per il job. Se non utilizzi il ruolo predefinito, assicurati che il ruolo selezionato includa l'PassRole autorizzazione iam:.

  9. Scegli Restore backup (Ripristina backup).

AWS CLI

Usa il aws backup start-restore-job comando con metadati specifici di Amazon EKS.

I metadati richiesti dipendono dal tipo di ripristino. Tutte le operazioni di ripristino richiedono il clusterName parametro.

Ripristina i punti di ripristino di Amazon EKS tramite AWS CLI

Usa StartRestoreJob. Puoi specificare i seguenti metadati durante i ripristini di Amazon EKS:

Metadati obbligatori:

  • clusterName- Nome del cluster in cui eseguire il ripristino

Metadati opzionali:

  • newCluster- (true/false) Se dovessimo creare un nuovo cluster EKS durante il ripristino

    • Se newCluster è «true», si applicano i seguenti campi di metadati:

      • eksClusterVersion- Versione K8s del cluster desiderata se si desidera aumentare la versione del cluster durante il ripristino

      • clusterRole- L'ARN del ruolo IAM da collegare al cluster EKS creato

      • clusterVpcConfig- VPC/Networking configurazione per il cluster EKS creato. Questo campo contiene i seguenti campi annidati:

        • vpcId- Il VPC associato al cluster

        • subnetIds- Le sottoreti associate al cluster

        • securityGroupIds- I gruppi di sicurezza aggiuntivi associati al cluster

      • nodeGroups- I gruppi di nodi gestiti da creare sul cluster EKS. Il file NodeGroups da ripristinare deve avere tutti gli stessi gruppi di nodi utilizzati in fase di backup e avere una corrispondenza nodeGroupId.

        • nodeGroupId- L'ID del gruppo di nodi

        • subnetIds- Le sottoreti specificate per il gruppo Auto Scaling associato al gruppo di nodi

        • instanceTypes- Se il gruppo di nodi non è stato distribuito con un modello di avvio, questo è il tipo di istanza associato al gruppo di nodi

        • nodeRole- Il ruolo IAM associato al tuo gruppo di nodi

        • securityGroupIds- Il gruppo di sicurezza a IDs cui è consentito l'accesso SSH ai nodi

        • remoteAccessEc2SshKey- Il nome della chiave Amazon EC2 SSH che fornisce l'accesso per la comunicazione SSH con i nodi del gruppo di nodi gestiti

      • fargateProfiles- I profili Fargate da creare sul cluster EKS. I profili Fargate da ripristinare devono avere tutti gli stessi profili Fargate in fase di backup e avere il nome corrispondente.

        • name- Il nome del profilo Fargate

        • subnetIds- Le IDs sottoreti in cui lanciare un Pod

        • podExecutionRoleArn- L'ARN del ruolo IAM del ruolo di esecuzione Pod da utilizzare per un Pod che corrisponde ai selettori nel profilo Fargate

      • podIdentityAssociations- Le associazioni Pod Identity da creare sul cluster EKS

        • associationId- L'ID della Pod Identity Association

        • roleArn- L'ARN del ruolo IAM per la Pod Identity Association

  • kubernetesRestoreOrder- Sostituisci l'ordine in cui vengono ripristinati i manifesti di Kubernetes. Questo ordine avrà la precedenza sull'ordine di ripristino del servizio predefinito. Questo segue il formato: group/version/kind or version/kind

    ["v1/persistentvolumes», "v1/pods»,» «] customresource/v2/custom

  • namespaceLevelRestore- (true/false) Se si desidera eseguire un ripristino a livello di namespace

  • namespaces- Un elenco di namespace da ripristinare se è «true». namespaceLevelRestore Può fornire fino a 5 namespace da ripristinare

  • restoreKubernetesManifestsOnly- (true/false) Se desideri ripristinare solo i file manifest di Kubernetes e non i sistemi di storage persistenti (EBS, S3, EFS, ecc.)

  • nestedRestoreJobs- Ripristina la configurazione dei metadati di tutti i punti di ripristino annidati per i sistemi di storage nel punto di ripristino composito. PersistentVolume Questa è una mappa di RecoveryPointArn: di quel punto RestoreMetadata di ripristino

Ripristina su un cluster esistente

aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:us-west-2:123456789012:recovery-point:composite:eks/my-cluster-20240115" \ --iam-role-arn "arn:aws:iam::123456789012:role/AWSBackupServiceRolePolicyForEKSRestore" \ --metadata '{"clusterName":"existing-cluster","newCluster":false}' \ --resource-type "EKS"

Ripristina su un nuovo cluster

aws backup start-restore-job \ --recovery-point-arn "arn:aws:backup:us-west-2:123456789012:recovery-point:composite:eks/my-cluster-20240115" \ --iam-role-arn "arn:aws:iam::123456789012:role/AWSBackupServiceRolePolicyForEKSRestore" \ --metadata '{"clusterName":"new-cluster","newCluster":true,"clusterRole":"arn:aws:iam::123456789012:role/EKSClusterRole","eksClusterVersion":"1.33","clusterVpcConfig":"{\"vpcId\":\"vpc-1234\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"securityGroupIds\":[\"sg-123\"]}","nodeGroups":"[{\"nodeGroupId\":\"nodegroup-1\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"nodeRole\":\"arn:aws:iam::123456789012:role/EKSNodeGroupRole\",\"instanceTypes\":[\"t3.small\"]}]","fargateProfiles":"[{\"name\":\"fargate-profile-1\",\"subnetIds\":[\"subnet-1\",\"subnet-2\",\"subnet-3\"],\"podExecutionRoleArn\":\"arn:aws:iam::123456789012:role/EKSFargateProfileRole\"}]"}' \ --resource-type "EKS"

Dopo aver avviato il processo di ripristino, usa describe-restore-job per monitorare l'avanzamento:

aws backup describe-restore-job --restore-job-id restore-job-id

È possibile sottoscrivere gli eventi di notifica per gli oggetti non riusciti e ignorati per il ripristino. Per ulteriori informazioni, vedere Opzioni di notifica con AWS Backup.