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à.
Migliori pratiche per l'affidabilità
Questa sezione fornisce indicazioni su come rendere i carichi di lavoro in esecuzione su ambienti EKS resilienti e altamente disponibili
Come utilizzare questa guida
Questa guida è destinata agli sviluppatori e agli architetti che desiderano sviluppare e gestire servizi ad alta disponibilità e con tolleranza ai guasti in. EKS La guida è organizzata in diverse aree tematiche per facilitarne la fruizione. Ogni argomento inizia con una breve panoramica, seguita da un elenco di consigli e best practice per l'affidabilità dei EKS cluster.
Introduzione
Le migliori pratiche di affidabilità per EKS sono state raggruppate nei seguenti argomenti:
-
Applicazioni
-
Piano di controllo
-
Piano dei dati
Cosa rende affidabile un sistema? Se un sistema può funzionare in modo coerente e soddisfare le esigenze nonostante i cambiamenti dell'ambiente nel corso di un periodo di tempo, può essere definito affidabile. A tal fine, il sistema deve rilevare i guasti, correggersi automaticamente e avere la capacità di scalare in base alla domanda.
I clienti possono utilizzare Kubernetes come base per gestire applicazioni e servizi mission-critical in modo affidabile. Ma oltre a incorporare i principi di progettazione delle applicazioni basate su container, l'esecuzione affidabile dei carichi di lavoro richiede anche un'infrastruttura affidabile. In Kubernetes, l'infrastruttura comprende il piano di controllo e il piano dati.
EKSfornisce un piano di controllo Kubernetes di livello di produzione progettato per essere altamente disponibile e tollerante ai guasti.
In, è responsabile dell'affidabilità del piano di controllo EKS KubernetesAWS. EKSesegue il piano di controllo Kubernetes su tre zone di disponibilità in una regione. AWS Gestisce automaticamente la disponibilità e la scalabilità dei server Kubernetes e del cluster API etcd.
La responsabilità dell'affidabilità del piano dati è condivisa tra te, il cliente e. AWS EKSoffre tre opzioni di nodi di lavoro per l'implementazione del piano dati Kubernetes. Fargate, che è l'opzione più gestita, gestisce il provisioning e la scalabilità del piano dati. La seconda opzione, i nodi gestiti raggruppano, gestisce il provisioning e gli aggiornamenti del piano dati. Infine, i nodi autogestiti sono l'opzione meno gestita per il piano dati. Maggiore è il piano dati AWS gestito, minore è la responsabilità.
I gruppi di nodi gestiti automatizzano il provisioning e la gestione del ciclo di vita dei nodi. EC2 È possibile utilizzare EKS API (utilizzando EKS console,,, AWS API AWSCLI, CloudFormation Terraform oeksctl
), per creare, scalare e aggiornare i nodi gestiti. I nodi gestiti eseguono EC2 istanze Amazon Linux 2 EKS ottimizzate nel tuo account e puoi installare pacchetti software personalizzati abilitando SSH l'accesso. Quando effettui il provisioning dei nodi gestiti, questi vengono eseguiti come parte di un gruppo di Auto Scaling EKS gestito che può estendersi su più zone di disponibilità; puoi controllare questo tramite le sottoreti che fornisci durante la creazione di nodi gestiti. EKSinoltre, contrassegna automaticamente i nodi gestiti in modo che possano essere utilizzati con Cluster Autoscaler.
Amazon EKS segue il modello di responsabilità condivisa CVEs e le patch di sicurezza sui gruppi di nodi gestiti. Poiché i nodi gestiti eseguono sistemi EKS ottimizzati per AmazonAMIs, Amazon EKS è responsabile della creazione di versioni con patch di questi AMIs quando corregge i bug. Tuttavia, sei responsabile della distribuzione di queste AMI versioni con patch nei tuoi gruppi di nodi gestiti.
EKSgestisce anche l'aggiornamento dei nodi, sebbene sia necessario avviare il processo di aggiornamento. Il processo di aggiornamento del nodo gestito è spiegato nella EKS documentazione.
Se gestisci nodi autogestiti, puoi usare Linux EKS ottimizzato per Amazon AMI per creare nodi di lavoro. Sei responsabile dell'applicazione di patch e dell'aggiornamento di e dei nodi. AMI È consigliabile utilizzare l'eksctl
infrastruttura come strumenti di codice per il provisioning di nodi autogestiti CloudFormation, poiché in questo modo sarà più semplice aggiornare i nodi autogestiti. Prendi in considerazione la migrazione a nuovi nodi quando aggiorni i nodi di lavoro, poiché il processo di migrazione altera il vecchio gruppo di nodi NoSchedule
e prosciuga i nodi dopo che un nuovo stack è pronto ad accettare il carico di lavoro del pod esistente. Tuttavia, puoi anche eseguire un aggiornamento sul posto dei nodi autogestiti.
Modello di responsabilità condivisa - Fargate
Modello di responsabilità condivisa - MNG
Questa guida include una serie di consigli che puoi utilizzare per migliorare l'affidabilità del tuo piano EKS dati, dei componenti principali di Kubernetes e delle tue applicazioni.
Feedback
Questa guida è stata pubblicata GitHub per raccogliere feedback e suggerimenti diretti dalla più ampia EKS community /Kubernetes. Se hai una best practice che ritieni debba essere inclusa nella guida, segnala un problema o invia un PR nell'archivio. GitHub Intendiamo aggiornare periodicamente la guida man mano che vengono aggiunte nuove funzionalità al servizio o quando si evolve una nuova best practice.
📝 Modifica questa pagina su GitHub