View a markdown version of this page

Installa AWS Controller Load Balancer con timone - 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à.

Installa AWS Controller Load Balancer con timone

Suggerimento

Registrati ai prossimi workshop Amazon EKS.

Suggerimento

Con la modalità automatica di Amazon EKS, non devi installare o aggiornare componenti aggiuntivi di rete. Auto Mode include funzionalità di pod networking e bilanciamento del carico.

Per ulteriori informazioni, consulta Automate cluster infrastructure with EKS Auto Mode.

Questo argomento descrive come installare il AWS Load Balancer Controller utilizzando Helm, un gestore di pacchetti per Kubernetes, e. eksctl Il controller viene installato con le opzioni predefinite. Per ulteriori informazioni sul controller, inclusi i dettagli sulla configurazione con annotazioni, vedere la documentazione del controller Load AWS Balancer su. GitHub

Nei passaggi seguenti, sostituisci i valori di esempio con i tuoi valori.

Prerequisiti

Prima di iniziare questo tutorial, completa i seguenti passaggi:

Considerazioni

Prima di procedere con i passaggi per la configurazione descritti in questa pagina, considera quanto segue:

  • La policy e il ruolo IAM (AmazonEKSLoadBalancerControllerRole) possono essere riutilizzati su più cluster EKS nello stesso account. AWS

  • Se stai installando il controller sullo stesso cluster in cui il ruolo (AmazonEKSLoadBalancerControllerRole) è stato originariamente creato, vai a Step 2: Install Load Balancer Controller dopo aver verificato l’esistenza del ruolo.

  • Se utilizzato, IRSA (IAM Roles for Service Accounts) deve essere configurato per ogni cluster e l’ARN del provider OpenID Connect (OIDC) nella policy di attendibilità del ruolo è specifico per ogni cluster EKS. Inoltre, se stai installando il controller su un nuovo cluster con unAmazonEKSLoadBalancerControllerRole esistente, aggiorna la policy di attendibilità del ruolo per includere il provider OIDC del nuovo cluster e crea un nuovo account di servizio con l’annotazione di ruolo appropriata. Per determinare se disponi già di un provider OIDC o per crearne uno, consulta Per creare un provider di identità IAM OIDC per il cluster.

Fase 1: Creare un ruolo IAM utilizzando eksctl

I passaggi seguenti si riferiscono alla versione di rilascio del AWS Load Balancer Controller v2.14.1. Per ulteriori informazioni su tutte le versioni, consulta la pagina di rilascio del AWS Load Balancer Controller su. GitHub

  1. Scarica una policy IAM per il AWS Load Balancer Controller che gli consenta di effettuare chiamate alle AWS API per tuo conto.

    curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.14.1/docs/install/iam_policy.json
    • Se ti trovi in una AWS partizione non standard, ad esempio un'area governativa o cinese, consulta le politiche GitHub e scarica la politica appropriata per la tua regione.

  2. Creare una policy IAM utilizzando le policy scaricate nel passaggio precedente.

    aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json
    Nota

    Se visualizzi la politica in Console di gestione AWS, la console mostra gli avvisi per il servizio ELB, ma non per il servizio ELB v2. Ciò accade perché alcune azioni nella policy esistono per ELB v2, ma non per ELB. Queste avvertenze per ELB possono essere ignorate.

  3. Sostituisci i valori per il nome del cluster, il codice regionale e l’ID dell’account.

    eksctl create iamserviceaccount \ --cluster=<cluster-name> \ --namespace=kube-system \ --name=aws-load-balancer-controller \ --attach-policy-arn=arn:aws: iam::<AWS_ACCOUNT_ID>:policy/AWSLoadBalancerControllerIAMPolicy \ --override-existing-serviceaccounts \ --region <aws-region-code> \ --approve

Fase 2: Installazione AWS Controller del sistema di bilanciamento del carico

  1. Aggiungi l'archivio eks-charts cartografico Helm. AWS mantiene questo repository attivo. GitHub

    helm repo add eks https://aws.github.io/eks-charts
  2. Aggiornare il repository locale per assicurarsi di avere i grafici più recenti.

    helm repo update eks
  3. Installa il AWS Load Balancer Controller.

    Se stai implementando il controller su nodi Amazon EC2 che hanno accesso limitato al servizio di metadati di istanza (IMDS) di Amazon EC2 o se stai implementando in Fargate o Amazon EKS Hybrid Nodes, aggiungi questi flag al comando helm seguente:

    • --set region=region-code

    • --set vpcId=vpc-xxxxxxxx

      Sostituisci my-cluster con il nome del cluster. Nel comando seguente, aws-load-balancer-controller indica l’account del servizio Kubernetes creato in una fase precedente.

      Per ulteriori informazioni sulla configurazione del grafico di comando, vedere values.yaml su. GitHub

      helm install aws-load-balancer-controller eks/aws-load-balancer-controller \ -n kube-system \ --set clusterName=my-cluster \ --set serviceAccount.create=false \ --set serviceAccount.name=aws-load-balancer-controller \ --version 1.14.0
Importante

Il grafico implementato non riceve automaticamente gli aggiornamenti di sicurezza. È necessario eseguire manualmente l’aggiornamento a un grafico più recente quando diventa disponibile. Durante l'aggiornamento, passate al comando precedente. install upgrade

Il comando helm install installa automaticamente le definizioni di risorse personalizzate (CRD) per il controller. Il comando helm upgrade non lo fa. Se utilizzi helm upgrade,, devi installare manualmente le CRD. Esegui il comando seguente per installare le CRD.

wget https://raw.githubusercontent.com/aws/eks-charts/master/stable/aws-load-balancer-controller/crds/crds.yaml kubectl apply -f crds.yaml

Passaggio 3: verifica che il controller sia installato

  1. Verificare che il controller sia installato.

    kubectl get deployment -n kube-system aws-load-balancer-controller

    Di seguito viene riportato un output di esempio:

    NAME READY UP-TO-DATE AVAILABLE AGE aws-load-balancer-controller 2/2 2 2 84s

    Riceverai l’output precedente se hai eseguito l’implementazione con Helm. Se hai eseguito l’implementazione utilizzando il manifesto Kubernetes, hai una sola replica.

  2. Prima di utilizzare il controller per il provisioning AWS delle risorse, il cluster deve soddisfare requisiti specifici. Per ulteriori informazioni, consultare Instradare il traffico di applicazioni e HTTP con Application Load Balancer e Esecuzione del routing del traffico TCP e UDP con Network Load Balancer.