Contribuisci a migliorare questa pagina
Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.
Indirizza il traffico Internet con AWS Load Balancer Controller
Il AWS Load Balancer Controller (Controller del load balancer) gestisce AWS l'Elastic Load Balancer (load balancer Elastico) per un cluster Kubernetes. Puoi usare il controller per esporre le app del cluster a Internet. Il controller fornisce bilanciatori del carico AWS che puntano alle risorse del servizio cluster o di ingresso. In altri termini, il controller crea un unico indirizzo IP o nome DNS che punta a più pod del cluster.
Il controller monitora le risorse di Kubernetes Ingress o Service. In risposta, crea le risorse AWS Elastic Load Balancing adeguate. Puoi configurare il comportamento specifico dei bilanciatori del carico applicando annotazioni alle risorse Kubernetes. Ad esempio, puoi collegare gruppi di sicurezza AWS ai bilanciatori del carico usando 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 AWS Load Balancer Controller versione
2.3.0o successiva, puoi creare NLB 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
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, implementerai un’app di esempio che include un bilanciatore del carico AWS.
Installare il controller
Per installare AWS Load Balancer Controller puoi usare una delle seguenti procedure:
-
Se non conosci Amazon EKS, ti consigliamo di usare Helm per l’installazione perché semplifica l’installazione di AWS Load Balancer Controller. Per ulteriori informazioni, consulta Installa AWS Load Balancer Controller con Helm.
-
Per configurazioni avanzate, come cluster con accesso di rete limitato ai registri di container pubblici, utilizza i manifesti Kubernetes. Per ulteriori informazioni, consulta Installa AWS Load Balancer Controller con i manifesti.
Migrazione dalle versioni obsolete del controller
-
Se sono installate versioni obsolete di AWS Load 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 di AWS Load Balancer Controller.
-
Le versioni obsolete includono:
-
Controller di ingresso ALB AWS per Kubernetes (“Controller di ingresso”), un predecessore di AWS Load Balancer Controller.
-
Qualsiasi versione
0.1.di AWS Load Balancer Controllerx
-
Provider cloud legacy
Kubernetes include un provider cloud legacy per AWS. Il provider cloud legacy è in grado di effettuare il provisioning dei bilanciatori del carico AWS , in modo simile ad AWS Load Balancer Controller. Il provider cloud legacy crea i Classic Load Balancer. Se non installi AWS Load Balancer Controller, Kubernetes userà per impostazione predefinita il provider cloud legacy. È necessario installare AWS Load Balancer Controller ed evitare di usare il provider cloud legacy.
Importante
Nelle versioni 2.5 e successive, AWS Load Balancer Controller diventa il controller predefinito per le risorse del servizio con il type: LoadBalancer e crea un AWS Network Load Balancer (NLB) per ciascun servizio. Lo fa creando un webhook mutante per i servizi, che imposta il campo spec.loadBalancerClassa service.k8s.aws/nlb per nuovi servizi ditype: LoadBalancer. È possibile disattivare questa funzione e tornare a utilizzare il Cloud Provider obsoletoenableServiceMutatorWebhook 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.