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
Puoi ripristinare i backup del 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 persistenti dei volumi.
AWS Backup supporta diverse esperienze di ripristino, inclusi i ripristini granulari a livello di namespace. I ripristini non sono distruttivi e non sovrascriveranno alcun oggetto Kubernetes esistente nel cluster EKS di destinazione. I ripristini inoltre non sovrascriveranno le versioni Kubernetes del cluster EKS di destinazione.
I backup EKS devono essere ripristinati su un cluster EKS di destinazione, ovvero 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
Funzionalità di ripristino per Amazon EKS
| Tipo di ripristino | Obiettivo di ripristino | Ripristina il comportamento |
|---|---|---|
| Ripristino del cluster esistente | Ripristino 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, puoi abbonarti alle notifiche SNS https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-notifications.html |
| Ripristino di un nuovo 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 | I ripristini solo gli spazi dei nomi specificati, le relative risorse Kubernetes e i corrispondenti ripristini dello storage persistente non sono distruttivi e gli oggetti esistenti non vengono sovrascritti. Per gli oggetti che vengono ignorati, puoi iscriverti alle notifiche SNS |
| Ripristino persistente dello storage | Dipende dallo storage persistente | Ripristina lo storage persistente individuale come ripristini autonomi. Vedi Restore Behavior of Amazon EBS, Amazon S3, Amazon EFS. https://docs.aws.amazon.com/aws-backup/latest/devguide/restoring-efs.html |
Autorizzazioni
Le autorizzazioni richieste dipendono dal tipo di ripristino e dalla destinazione di destinazione.
-
AWS Backup la policy gestita di Amazon EKS AWSBackupServiceRolePolicyForRestores contiene le autorizzazioni necessarie per ripristinare il cluster Amazon EKS e lo storage persistente EBS ed EFS.
-
Se il tuo cluster EKS contiene un bucket S3 o stai ripristinando solo il punto di ripristino S3 secondario, dovrai assicurarti che le seguenti politiche o autorizzazioni all'interno siano assegnate al tuo ruolo. AWSBackupServiceRolePolicyForS3Restore
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 aree geografiche, assicurati di controllare queste considerazioni prima dei ripristini per evitare errori di ripristino.
-
Ruoli IAM: quando si esegue il ripristino su un cluster diverso, i ruoli IAM utilizzati nel cluster di origine (ad esempio Pod identity, IRSA). Le configurazioni del provider OIDC (ecc.) devono essere presenti nell'account/regione come cluster di destinazione.
-
Verifica la versione e la compatibilità di EKS: le versioni API degli oggetti che desideri ripristinare devono essere della stessa versione (o la più simile possibile) e supportate nel nuovo cluster. AWS Backup eseguirà al meglio il ripristino tra versioni EKS, anche se potrebbero sorgere problemi di compatibilità in caso di ripristino tra versioni significativamente diverse.
-
Classi di archiviazione corrispondenti: per i ripristini su un cluster EKS esistente, assicuratevi che i componenti aggiuntivi CSI Storage Driver appropriati siano installati prima del ripristino
-
Bucket S3: quando ripristini un cluster EKS con S3 Buckets, assicurati che il bucket S3 abbia una versione e sia accessibile nell'account o nella regione di destinazione.
-
Archivio di immagini: quando ripristini un cluster EKS, assicurati che l'account o la regione del cluster EKS di destinazione abbiano accesso alle immagini a cui si fa riferimento come parte del ripristino. Verifica che il tuo registro disponga di sufficienti autorizzazioni interregionali/relative agli account.
-
Gruppi di sicurezza: i gruppi di sicurezza devono essere pre-creati 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
-
Zone e nodi di disponibilità EBS: le zone di disponibilità in cui si ripristinano i volumi EBS devono essere mappate alla zona di disponibilità di un nodo EKS esistente
-
Non-destructive ripristini: tutti i ripristini EKS saranno non distruttivi e non sovrascriveranno gli oggetti Kubernetes del ripristino di destinazione.
-
Abilita EKS Audit Logs: Abilita EKS Audit Logs per ulteriori registrazioni e risoluzione dei problemi prima del ripristino. Puoi anche abbonarti alle notifiche SNS per notificare gli oggetti ignorati o non riusciti durante il ripristino.
-
Nuovo buffer di ripristino per la creazione di un cluster EKS: quando si crea un nuovo cluster EKS durante il ripristino, AWS Backup introduce un buffer di 15 minuti dopo che il cluster EKS ha raggiunto lo stato disponibile ma prima di creare eventuali risorse EKS aggiuntive. Questo buffer assicura che tutti i componenti EKS sottostanti siano completamente inizializzati prima della creazione delle risorse dipendenti.
-
Dati utente nel modello di avvio: quando si crea un gruppo di nodi utilizzando un modello di avvio, non specificarli
spec.clusternella sezione dei dati utente del modello di avvio. Amazon EKS inserisce automaticamente i parametri di identità del cluster (apiServerEndpointcertificateAuthority,, eserviceIpv4Cidr) e li unisce a qualsiasi configurazione aggiuntiva definita nei dati utente.
Configurazioni EKS
Quando ripristini l'Amazon composito AWS Backup, scegli il tipo di ripristino e la destinazione di destinazione. Puoi scegliere di ripristinare il cluster EKS di origine, un cluster EKS esistente o creare un nuovo cluster EKS come destinazione di ripristino. Per i nuovi cluster EKS, è possibile scegliere di utilizzare le stesse impostazioni di infrastruttura esistenti (ad esempio VPC, sottoreti) del cluster di cui è stato eseguito il backup o configurarne di nuove. AWS Backup è progettato per eseguire un ripristino non distruttivo che non sovrascrive le risorse esistenti.
Per i ripristini dei namespace, è possibile specificare fino a 5 namespace da ripristinare in modo selettivo. Vengono ripristinate solo le risorse con ambito di namespace, mentre le risorse con ambito cluster sono 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 di cluster
-
Definizioni di risorse personalizzate
-
Namespace (il namespace stesso, non le risorse all'interno di tale namespace)
-
StorageClasses
-
PersistentVolumes
Namespace Scoped Kubernetes Resources
-
PersistentVolumeClaims
-
Segreti
-
ConfigMaps
-
ServiceAccounts
-
LimitRanges
-
Pod
-
ReplicaSets
Configurazioni di archiviazione persistenti
Come parte del backup e ripristino composito di Amazon EKS, il secondo passaggio consisterà nella configurazione delle configurazioni di storage persistente. 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 il volume Amazon EBS verrà ripristinato e creato. 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 nel cluster EKS ripristinato. I file system Amazon EFS vengono ripristinati con prefissi casuali e richiedono la creazione manuale di punti di accesso dopo il ripristino per il rimontaggio nel cluster EKS. AWS Backup non crea punti di accesso né monta obiettivi per tuo conto, consulta le linee guida qui per i punti di accesso e gli obiettivi di montaggio. https://docs.aws.amazon.com/efs/latest/ug/manage-fs-access-create-delete-mount-targets.html
Procedura di ripristino di Amazon EKS
Segui questi passaggi per ripristinare i backup di Amazon EKS utilizzando la AWS Backup console o AWS CLI:
È possibile sottoscrivere gli eventi di notifica per gli oggetti non riusciti e ignorati per il ripristino. Per ulteriori informazioni, consulta Opzioni di notifica con AWS Backup.
Messaggi di stato di ripristino di Amazon EKS
Al termine di un processo di ripristino, potresti visualizzare i seguenti messaggi di stato. La tabella mostra i possibili scenari e i corrispondenti valori di stato del processo:
| Scenario | Stato di un processo | Messaggio di esempio |
|---|---|---|
| Tutti gli oggetti sono stati ripristinati con successo | COMPLETED | — |
| Impossibile ripristinare uno o più oggetti | COMPLETED | «Il ripristino di uno o più oggetti Kubernetes non è stato possibile. Per ricevere una notifica di questi errori, abilita le notifiche degli eventi SNS». |
| Impossibile completare il ripristino | NON RIUSCITO | (dettagli dell'errore) |
Oggetti saltati durante il ripristino
I seguenti oggetti Kubernetes vengono ripristinati nel migliore dei modi. Se non riescono a ripristinare, vengono spostati nell'elenco ignorato. Questi oggetti sono gestiti dal sistema e ricreati da Kubernetes o Amazon EKS:
-
FlowSchemas con l'annotazione
apf.kubernetes.io/autoupdate-spec: "true" -
PriorityLevelConfigurations con l'annotazione
apf.kubernetes.io/autoupdate-spec: "true" -
La
eks-exemptFlowSchema (EKS-managed, fa riferimento all'esenzione PriorityLevelConfiguration protetta) -
Il
kubernetesservizio neldefaultnamespace (endpoint del server API) -
Il
kube-dnsservizio nelkube-systemnamespace (CoreDNS)
I seguenti oggetti Kubernetes vengono sempre ignorati durante un ripristino. Questi oggetti includono l'infrastruttura dei nodi e i componenti di rete. Fanno riferimento allo stato specifico del cluster. I controller Kubernetes ricreano automaticamente questi oggetti quando nodi e servizi diventano attivi nel cluster di destinazione. Se ripristini questi oggetti da un backup, potrebbero causare conflitti o errori. Questi conflitti si verificano perché gli oggetti ripristinati fanno riferimento a risorse che non esistono nel cluster di destinazione.
-
Endpoints (
v1/endpoints): endpoint di rete che definiscono gli indirizzi IP per i servizi. Il controller Endpoints li gestisce automaticamente in base ai selettori di servizio. -
EndpointSlices (
discovery.k8s.io/v1/endpointslices) - Il EndpointSlice controller gestisce automaticamente questi oggetti. -
Indirizzi IP (
networking.k8s.io/v1/ipaddresses) - La rete Kubernetes gestisce queste allocazioni IP interne al cluster. -
csNodes (
storage.k8s.io/v1/csinodes) - Il kubelet crea automaticamente questi oggetti quando i driver CSI si registrano su un nodo. -
VolumeAttachments (
storage.k8s.io/v1/volumeattachments) - Il attach/detach controller crea automaticamente questi oggetti quando i pod richiedono volumi.
Anche gli oggetti già esistenti nel cluster di destinazione vengono ignorati. I ripristini EKS non sono distruttivi: gli oggetti esistenti non vengono mai sovrascritti o eliminati.
Per ricevere notifiche sugli oggetti ignorati o non riusciti durante il ripristino, abbonati alle notifiche degli eventi SNS. https://docs.aws.amazon.com/aws-backup/latest/devguide/backup-notifications.html Per ulteriori informazioni, consulta Opzioni di notifica con. AWS Backup
Considerazioni su OIDC e IRSA per il ripristino tra cluster
Quando si ripristina un backup di Amazon EKS su un cluster diverso da quello di origine, gli oggetti Kubernetes che fanno riferimento a IAM Roles for Service Accounts (IRSA) mantengono l'endpoint del provider OIDC del cluster di origine. Questi riferimenti sono presenti nelle annotazioni degli account di servizio e nelle politiche di fiducia IAM. AWS Backup non li aggiorna automaticamente durante il ripristino.
Se i carichi di lavoro utilizzano IRSA, un ripristino tra cluster richiede:
-
Il cluster di destinazione deve avere un provider OIDC configurato.
-
Tutti i ruoli IAM a cui fanno riferimento gli account del servizio Kubernetes devono avere le loro politiche di fiducia aggiornate per includere l'endpoint del provider OIDC del cluster di destinazione.
-
Le annotazioni degli account di servizio (
eks.amazonaws.com/role-arn) faranno comunque riferimento ai ruoli originali: verifica che corrispondano ai ruoli validi nell'account di destinazione.
Se queste dipendenze non sono soddisfatte, i pod non riusciranno ad assumere i ruoli IAM dopo il ripristino e i job di ripristino potrebbero segnalare errori durante la convalida.
Raccomandazione: per i carichi di lavoro che richiedono la portabilità del ripristino su più cluster o più account, consigliamo di utilizzare EKS Pod Identity anziché IRSA. https://docs.aws.amazon.com/eks/latest/userguide/pod-identities.html EKS Pod Identity non dipende da provider OIDC specifici del cluster e semplifica gli scenari di ripristino tra cluster.