Indirizza il traffico Internet con AWS Load Balancer Controller - 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à.

Indirizza il traffico Internet con AWS Load Balancer Controller

Suggerimento

Registrati ai prossimi workshop Amazon EKS.

Il AWS Load Balancer Controller gestisce AWS Elastic Load Balancer per un cluster Kubernetes. Puoi usare il controller per esporre le app del cluster a Internet. Il controller fornisce sistemi di AWS bilanciamento del carico che puntano alle risorse Cluster Service o Ingress. In altri termini, il controller crea un unico indirizzo IP o nome DNS che punta a più pod del cluster.

Diagramma architetturale. Illustrazione del traffico proveniente dagli utenti di Internet verso il bilanciatore del carico Amazon. Il bilanciatore del carico Amazon distribuisce il traffico ai pod del cluster.

Il controller monitora le risorse di Kubernetes Ingress o Service. In risposta, crea le risorse AWS Elastic Load Balancing appropriate. Puoi configurare il comportamento specifico dei bilanciatori del carico applicando annotazioni alle risorse Kubernetes. Ad esempio, è possibile collegare gruppi di AWS sicurezza ai sistemi di bilanciamento del carico utilizzando le annotazioni.

Il controller fornisce le risorse seguenti:

Kubernetes Ingress

L’LBC crea un AWS Application Load Balancer (ALB) quando crei un Ingress. Rivedi le annotazioni che puoi applicare a una risorsa Ingress.

Servizio Kubernetes di tipo LoadBalancer

L’LBC crea un AWS Network Load Balancer (NLB) quando crei un servizio Kubernetes di tipo LoadBalancer. Rivedi le annotazioni che puoi applicare a una risorsa Service.

In passato, il Network Load Balancer (NLB) Kubernetes veniva utilizzato per le destinazioni istanza, ma per le destinazioni IP veniva utilizzato l’LBC. Con la versione AWS Load Balancer Controller 2.3.0 o successiva, puoi creare NLBs utilizzando entrambi i tipi di destinazione. Per ulteriori informazioni sui tipi di destinazioni dei NLB, consultare Target type (Tipo di destinazione) nella Guida per l'utente di Network Load Balancer.

Il controller è un progetto open source gestito su. GitHub

Prima di implementare il controller, è consigliabile esaminare i prerequisiti e le considerazioni in Route application and HTTP traffic with Application Load Balancers e Esecuzione del routing del traffico TCP e UDP con Network Load Balancer. In questi argomenti, verrà distribuita un'app di esempio che include un sistema di AWS bilanciamento del carico.

API Kubernetes Gateway

Con la versione AWS Load Balancer Controller 2.14.0 o successiva, LBC crea un Application Load AWS Balancer (ALB) quando crei un Kubernetes. Gateway Kubernetes Gateway standardizza più configurazioni rispetto a Ingress, che richiedeva annotazioni personalizzate per molte opzioni comuni. Rivedi la configurazione che puoi applicare a una risorsa Gateway. Per ulteriori informazioni sull'GatewayAPI, consulta Gateway API nella documentazione di Kubernetes.

Installare il controller

È possibile utilizzare una delle seguenti procedure per installare il AWS Load Balancer Controller:

Migrazione dalle versioni obsolete del controller

  • Se sono installate versioni obsolete del Load AWS Balancer Controller, consulta. Esegui la migrazione delle app da Controller di ingresso ALB obsoleto

  • Le versioni obsolete non possono essere aggiornate. Devono essere rimossi e deve essere installata una versione corrente del AWS Load Balancer Controller.

  • Le versioni obsolete includono:

    • AWS ALB Ingress Controller for Kubernetes («Ingress Controller»), un predecessore del Load Balancer Controller. AWS

    • Qualsiasi 0.1.x versione del AWS Load Balancer Controller

Provider cloud legacy

Kubernetes include un provider cloud legacy per AWS. Il provider cloud legacy è in grado di effettuare il provisioning di sistemi di bilanciamento del AWS carico, in modo simile al Load Balancer Controller AWS . Il provider cloud legacy crea i Classic Load Balancer. Se non installi il AWS Load Balancer Controller, Kubernetes utilizzerà per impostazione predefinita il provider cloud legacy. È necessario installare il AWS Load Balancer Controller ed evitare di utilizzare il provider cloud legacy.

Importante

Nelle versioni 2.5 e successive, il AWS Load Balancer Controller diventa il controller predefinito per le risorse del servizio Kubernetes e crea un Network Load AWS Balancer (NLB) per ogni servizio. type: LoadBalancer Lo fa creando un webhook mutante per i servizi, che imposta il  campo spec.loadBalancerClassservice.k8s.aws/nlb per nuovi servizi ditype: LoadBalancer. È possibile disattivare questa funzione e tornare a utilizzare il Cloud Provider obsoleto come controller predefinito, impostando il valore della tabella di comando enableServiceMutatorWebhook a false. Il cluster non eseguirà il provisioning dei nuovi Classic Load Balancer per i tuoi servizi a meno che non disattivi questa funzionalità. I sistemi Classic Load Balancer esistenti continueranno a funzionare.