Automate cluster infrastructure with EKS Auto Mode - Amazon EKS

Contribuisci a migliorare questa pagina

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à.

Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.

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à.

Automate cluster infrastructure with EKS Auto Mode

EKS Auto Mode estende la gestione AWS dei cluster Kubernetes oltre il cluster stesso, consentendo ad AWS di configurare e gestire anche l’infrastruttura che garantisce il funzionamento regolare dei carichi di lavoro. È possibile delegare le decisioni chiave relative all’infrastruttura e sfruttare l’esperienza di AWS per le operazioni quotidiane. L’infrastruttura cluster gestita da AWS comprende molte funzionalità Kubernetes come componenti principali, anziché come componenti aggiuntivi, quali il dimensionamento automatico delle risorse di calcolo, il networking di pod e servizi, il bilanciamento del carico delle applicazioni, il DNS cluster, lo storage a blocchi e il supporto GPU.

Per iniziare, è possibile implementare un nuovo cluster EKS Auto Mode o abilitare EKS Auto Mode su un cluster esistente. Puoi implementare, aggiornare o modificare i tuoi cluster EKS Auto Mode usando eksctl, AWS CLI, Console di gestione AWS, API EKS o gli strumenti Infrastructure-as-Code che preferisci.

Con EKS Auto Mode, puoi continuare a usare gli strumenti compatibili con Kubernetes che preferisci. EKS Auto Mode si integra con i servizi AWS come Amazon EC2, Amazon EBS ed ELB, sfruttando le risorse AWS cloud che seguono le migliori pratiche. Queste risorse vengono dimensionate automaticamente, ottimizzate in termini di costi e aggiornate regolarmente per contribuire a ridurre al minimo i costi operativi e le spese generali.

Funzionalità

EKS Auto Mode offre le seguenti funzionalità di alto livello:

Ottimizzazione della gestione dei cluster Kubernetes: EKS Auto Mode semplifica la gestione di EKS fornendo cluster pronti per la produzione con un sovraccarico operativo minimo. Con EKS Auto Mode, puoi eseguire carichi di lavoro impegnativi e dinamici in sicurezza, senza bisogno di una profonda conoscenza di EKS.

Disponibilità delle applicazioni: EKS Auto Mode aggiunge o rimuove dinamicamente i nodi nel cluster EKS in base alle esigenze delle applicazioni Kubernetes. Questo riduce al minimo la necessità di pianificare manualmente la capacità e garantisce la disponibilità delle applicazioni.

Efficienza: EKS Auto Mode è progettata per ottimizzare i costi di elaborazione rispettando al tempo stesso la flessibilità definita dai requisiti di NodePool e del carico di lavoro. Inoltre, termina le istanze non utilizzate e consolida i carichi di lavoro su altri nodi per migliorare l’efficienza in termini di costi.

Sicurezza: EKS Auto Mode usa AMI trattate come immutabili per i nodi. Tali AMI applicano software bloccato, abilitano i controlli di accesso obbligatori di SELinux e forniscono file system root di sola lettura. Inoltre, i nodi avviati da EKS Auto Mode hanno una durata massima di 21 giorni (che può essere ridotta), dopodiché vengono sostituiti automaticamente con nuovi nodi. Questo approccio migliora il livello di sicurezza grazie al riciclo regolare dei nodi, in linea con le best practice già adottate da molti clienti.

Aggiornamenti automatici: EKS Auto Mode mantiene aggiornati il cluster Kubernetes, i nodi e i componenti correlati con le patch più recenti, rispettando al contempo i Pod Disruption Budget (PDB) e i NodePool Disruption Budget (NDB) configurati. Fino al limite massimo di 21 giorni, potrebbe essere necessario un intervento se il blocco dei PDB o altre configurazioni impediscono gli aggiornamenti.

Componenti gestiti: EKS Auto Mode include le funzionalità cloud Kubernetes e AWS come componenti fondamentali che altrimenti dovrebbero essere gestiti come componenti aggiuntivi. Sono inclusi il supporto integrato per l’assegnazione degli indirizzi IP dei pod, le policy di rete dei pod, i servizi DNS locali, i componenti aggiuntivi GPU, i controlli di integrità e lo storage EBS CSI.

NodePools e NodeClasses personalizzabili: se il carico di lavoro richiede modifiche alle configurazioni di storage, elaborazione o rete, è possibile creare NodePool e NodeClass personalizzati usando EKS Auto Mode. Anche se non è consigliabile modificare i NodePool e le NodeClass predefiniti, è possibile aggiungere nuovi NodePool o NodeClass personalizzati insieme alle configurazioni predefinite per soddisfare esigenze specifiche.

Componenti automatici

EKS Auto Mode semplifica il funzionamento dei cluster Amazon EKS automatizzando i componenti chiave dell’infrastruttura. L’attivazione di EKS Auto Mode riduce ulteriormente le attività di gestione dei cluster EKS.

Di seguito è riportata una lista di componenti del piano dati che sono automatizzati:

  • Calcolo: per molti carichi di lavoro, con EKS Auto Mode puoi dimenticarti di molti aspetti relativi al calcolo per i tuoi cluster EKS. Ciò include:

    • Nodi: i nodi EKS Auto Mode sono progettati per essere trattati come dispositivi. EKS Auto Mode esegue le seguenti operazioni:

      • Sceglie un’AMI appropriata configurata con molti servizi necessari per eseguire i carichi di lavoro senza bisogno di intervento.

      • Blocca l’accesso ai file sull’AMI usando la modalità di applicazione SELinux e un file system root di sola lettura.

      • Impedisce l’accesso diretto ai nodi disabilitando l’accesso SSH o SSM.

      • Include il supporto GPU, con driver del kernel e componenti aggiuntivi separati per GPU NVIDIA e Neuron, che consente carichi di lavoro con prestazioni elevate.

      • Gestisce automaticamente gli avvisi di interruzione delle istanze Spot EC2 e gli eventi di integrità delle istanze EC2

    • Dimensionamento automatico: basandosi sul dimensionamento automatico di Karpenter, EKS Auto Mode monitora i Pod non programmabili e consente l’implementazione di nuovi nodi per eseguire tali pod. Quando i carichi di lavoro vengono terminati, EKS Auto Mode interrompe e termina in modo dinamico i nodi quando non sono più necessari, ottimizzando l’uso delle risorse.

    • Aggiornamenti: il controllo dei nodi semplifica la capacità di EKS Auto Mode di offrire patch di sicurezza e aggiornamenti del sistema operativo e dei componenti in base alle esigenze. Tali aggiornamenti sono progettati per ridurre al minimo le interruzioni dei carichi di lavoro. EKS Auto Mode impone una durata massima dei nodi di 21 giorni per garantire che il software e le API siano sempre aggiornati.

  • Bilanciamento del carico: EKS Auto Mode semplifica il bilanciamento del carico integrandosi con il servizio Elastic Load Balancing di Amazon, automatizzando il provisioning e la configurazione dei bilanciatori di carico per i servizi Kubernetes e le risorse Ingress. Supporta funzionalità avanzate per Application e Network Load Balancer, ne gestisce il ciclo di vita e le dimensiona in base alle esigenze del cluster. Questa integrazione offre una soluzione di bilanciamento del carico pronta per la produzione conforme alle migliori pratiche di AWS, consentendoti di concentrarti sulle applicazioni invece che sulla gestione dell’infrastruttura.

  • Storage: EKS Auto Mode configura automaticamente lo storage temporaneo impostando i tipi di volume, le dimensioni dei volumi, le policy di crittografia e le policy di eliminazione alla chiusura del nodo.

  • Rete: EKS Auto Mode automatizza le attività di rete critiche per quanto riguarda la connettività dei pod e dei servizi. Sono inclusi il supporto IPv4/IPv6 e l’uso di blocchi CIDR secondari per estendere gli spazi degli indirizzi IP.

  • Identity and Access Management: non è necessario installare l’agente EKS Pod Identity sui cluster in EKS Auto Mode.

Per ulteriori informazioni su questi componenti, consulta Scopri come funziona EKS Auto Mode.

Configurazione

Sebbene EKS Auto Mode gestisca in modo efficace la maggior parte dei servizi del piano dati senza alcun intervento da parte tua, potrebbero esserci casi in cui desideri modificare il comportamento di alcuni di questi servizi. Puoi modificare la configurazione dei cluster EKS Auto Mode nei seguenti modi:

  • DaemonSets Kubernetes: invece di modificare i servizi installati sui nodi, puoi usare i daemonset Kubernetes. I daemonset sono progettati per essere gestiti da Kubernetes, ma vengono eseguiti su ogni nodo del cluster. In questo modo, puoi aggiungere servizi speciali per il monitoraggio o la sorveglianza dei nodi.

  • NodePools e NodeClasses personalizzati: i NodePools e i NodeClasses predefiniti sono configurati da EKS Auto Mode e non devono essere modificati. Per personalizzare il comportamento dei nodi, è possibile creare ulteriori NodePool o NodeClass per casi d’uso quali:

    • La selezione di tipi di istanze specifici (ad esempio, processori accelerati o istanze Spot EC2).

    • L’isolamento dei carichi di lavoro per scopi di sicurezza o di monitoraggio dei costi.

    • La configurazione di impostazioni di storage temporaneo come IOPS, dimensioni e throughput.

  • Bilanciamento del carico: alcuni servizi, come il bilanciamento del carico, che EKS Auto Mode esegue come oggetti Kubernetes, possono essere configurati direttamente sui cluster EKS Auto Mode.

Per ulteriori informazioni sulle opzioni di configurazione di EKS Auto Mode, consulta Configurazione delle impostazioni della modalità automatica EKS.

Modello di responsabilità condivisa

Il modello di responsabilità condivisa di AWS definisce le responsabilità in materia di sicurezza e conformità tra AWS e i clienti. Le immagini e il testo riportati di seguito mettono a confronto le differenze tra le responsabilità dei clienti e quelle di AWS nella modalità EKS Auto Mode e nella modalità standard EKS.

Modello di responsabilità condivisa con EKS Auto Mode e modalità standard

EKS Auto Mode trasferisce gran parte della responsabilità condivisa per l’infrastruttura Kubernetes dai clienti ad AWS. Con EKS Auto Mode, AWS si assume una maggiore responsabilità per la sicurezza del cloud, che prima era di competenza del cliente e ora è condivisa. Ora i clienti possono concentrarsi maggiormente sulle loro applicazioni, mentre AWS gestisce l’infrastruttura sottostante.

Responsabilità del cliente

Con EKS Auto Mode, i clienti continuano a mantenere la responsabilità dei container delle applicazioni, inclusi disponibilità, sicurezza e monitoraggio. Mantengono inoltre il controllo sull’infrastruttura VPC e sulla configurazione del cluster EKS. Questo modello consente ai clienti di concentrarsi su aspetti specifici dell’applicazione, delegando la gestione dell’infrastruttura cluster ad AWS. Le funzionalità opzionali per nodo possono essere incluse nei cluster tramite i componenti aggiuntivi AWS.

AWS Responsabilità

Con EKS Auto Mode, AWS amplia la propria responsabilità includendo la gestione di diversi componenti critici aggiuntivi rispetto a quelli già gestiti nei cluster EKS che non usano Auto Mode. In particolare, EKS Auto Mode si occupa della configurazione, della gestione, della sicurezza e del dimensionamento delle istanze EC2 avviate, nonché delle funzionalità del cluster per il bilanciamento del carico, la gestione degli indirizzi IP, la policy di rete e lo storage a blocchi. I componenti riportati di seguito sono gestiti da AWS EKS Auto Mode:

  • Istanze EC2 avviate in Auto Mode: AWS gestisce l’intero ciclo di vita dei nodi sfruttando le istanze gestite da Amazon EC2. Le istanze gestite da EC2 si assumono la responsabilità della configurazione del sistema operativo, dell’applicazione di patch, del monitoraggio e del mantenimento dell’integrità. In questo modello, sia l’istanza stessa che il sistema operativo guest in esecuzione su di essa sono di responsabilità di AWS. I nodi usano varianti delle AMI Bottlerocket ottimizzate per l’esecuzione di container. Le AMI Bottlerocket dispongono di software bloccato, file system root immutabili e accesso alla rete sicuro (per impedire comunicazioni dirette tramite SSH o SSM).

  • Funzionalità del cluster: AWS gestisce il dimensionamento automatico dell’elaborazione, il networking Pod con l’applicazione delle policy di rete, l’integrazione di Elastic Load Balancing e la configurazione dei driver di storage.

  • Piano di controllo del cluster: AWS continua a gestire il server API Kubernetes, gli ENI tra account e il database etcd, come con EKS standard.

  • Servizi di base e infrastruttura globale: AWS è responsabile dei servizi di elaborazione, storage, rete e monitoraggio sottostanti, nonché dell’infrastruttura globale delle regioni, delle zone locali e delle posizioni edge.