Indirizza il traffico Internet con AWS Load Balancer Controller - Amazon EKS

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

Il AWS Load Balancer Controller gestisce AWS Elastic Load Balancers per un Kubernetes cluster. È possibile utilizzare 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 altre parole, il controller crea un unico indirizzo IP o DNS nome che punta a più pod del cluster.

Diagramma dell'architettura. Illustrazione del traffico proveniente dagli utenti di Internet verso Amazon Load Balancer. Amazon Load Balancer distribuisce il traffico ai pod del cluster.

Il controller controlla Kubernetes Ingress oppure Service risorse. In risposta, crea le risorse AWS Elastic Load Balancing appropriate. È possibile configurare il comportamento specifico dei sistemi di bilanciamento del carico applicando annotazioni al Kubernetes risorse. 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

LBCcrea un AWS Application Load Balancer (ALB) quando si crea un Kubernetes Ingress. Rivedi le annotazioni che puoi applicare a una risorsa Ingress.

Kubernetes servizio del tipo LoadBalancer

LBCcrea un AWS Network Load Balancer (NLB) quando si crea un Kubernetes servizio di tipoLoadBalancer. Esamina le annotazioni che puoi applicare a una risorsa del servizio.

In passato, Kubernetes il sistema di bilanciamento del carico di rete è stato utilizzato ad esempio per le destinazioni, ma LBC è stato utilizzato per le destinazioni IP. Con il plugin AWS Load Balancer Controller versione 2.3.0 o successiva, è possibile creare NLBs utilizzando entrambi i tipi di destinazione. Per ulteriori informazioni sui tipi di NLB target, consulta Target type nella User Guide for Network Load Balancers.

Il controller è un progetto open source gestito su GitHub.

Prima di distribuire il controller, si consiglia di esaminare i prerequisiti e le considerazioni in Route application and HTTP traffic with Application Load Balancers e. Percorso TCP e UDP traffico con Network Load Balancer In questi argomenti, distribuirai un'app di esempio che include un sistema di bilanciamento del carico. AWS

Installa il controller

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

Esegui la migrazione da versioni di controller obsolete

  • Se disponi di versioni obsolete di AWS Load Balancer Controller installato, vedi. Migrazione delle app da applicazioni obsolete ALB Ingress Controller

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

  • Le versioni obsolete includono:

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

    • Qualsiasi 0.1.x versione di AWS Load Balancer Controller

Provider di servizi cloud legacy

Kubernetes include un provider cloud legacy per AWS. Il provider di servizi cloud legacy è in grado di fornire sistemi di bilanciamento del AWS carico, in modo simile a AWS Load Balancer Controller. Il provider di servizi cloud legacy crea Classic Load Balancer. Se non si installa il AWS Load Balancer Controller, Kubernetes utilizzerà per impostazione predefinita il provider cloud legacy. È necessario installare il AWS Load Balancer Controller ed evita di utilizzare il provider cloud legacy.

Importante

Nelle versioni 2.5 e successive, AWS Load Balancer Controller diventa il controller predefinito per Kubernetes risorse di servizio con type: LoadBalancer e crea un AWS Network Load Balancer (NLB) per ogni servizio. 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 fornirà nuovi Classic Load Balancer per i tuoi servizi a meno che tu non disattivi questa funzionalità. I sistemi Classic Load Balancer esistenti continueranno a funzionare.