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 Load Balancer Controller con Helm
Questo argomento descrive come installare il AWS Load Balancer Controller utilizzando Helm, un gestore di pacchetti per Kubernetese. 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
Nei passaggi seguenti, sostituisci il example values
con i tuoi valori.
Prerequisiti
Prima di iniziare questo tutorial, devi installare e configurare i seguenti strumenti e risorse necessari per creare e gestire un EKS cluster Amazon.
-
Un EKS cluster Amazon esistente. Per implementarne uno, consulta Inizia a usare Amazon EKS.
-
Un AWS Identity and Access Management esistente (IAM) OpenID Connect (OIDC) provider per il tuo cluster. Per determinare se disponi già di un provider IAM o per crearne uno, consulta Crea un IAM OIDC provider per il tuo cluster.
-
Assicurati che il tuo Amazon VPC CNI plugin for Kubernetes
kube-proxy
, e CoreDNS i componenti aggiuntivi hanno le versioni minime elencate nei token dell'account di servizio. -
Familiarità con AWS Elastic Load Balancing. Per ulteriori informazioni, consulta la Guida per l'utente di Elastic Load Balancing.
-
Familiarità con il servizio
Kubernetes e le risorse in ingresso .
Fase 1: Creare un IAM ruolo utilizzando eksctl
Nota
Devi solo creare un IAM ruolo per AWS Load Balancer Controller uno per AWS account. Controlla se AmazonEKSLoadBalancerControllerRole
esiste nella IAMconsole
-
Scarica una IAM politica per AWS Load Balancer Controller che gli consente di effettuare chiamate per tuo AWS APIs conto.
- AWS
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy.json
- AWS GovCloud (STATI UNITI)
-
**
$ curl -O https://raw.githubusercontent.com/kubernetes-sigs/aws-load-balancer-controller/v2.7.2/docs/install/iam_policy_us-gov.json
$ mv iam_policy_us-gov.json iam_policy.json
-
Crea una IAM politica utilizzando la politica scaricata nel passaggio precedente.
$ aws iam create-policy \ --policy-name AWSLoadBalancerControllerIAMPolicy \ --policy-document file://iam_policy.json
Nota
Se visualizzi la policy in AWS Management Console, la console mostra gli avvisi per il ELBservizio, ma non per il servizio ELBv2. Ciò accade perché alcune azioni nella policy esistono per la ELBv2, ma non per. ELB Puoi ignorare gli avvisi per. ELB
-
Replace (Sostituisci)
my-cluster
con il nome del tuo cluster,111122223333
con l'ID del tuo account, quindi esegui il comando. Se il cluster si trova nelle AWS regioni AWS GovCloud (Stati Uniti orientali) o AWS GovCloud (Stati Uniti occidentali),arn:aws:
sostituiscilo con.arn:aws-us-gov:
$ eksctl create iamserviceaccount \ --cluster=my-cluster \ --namespace=kube-system \ --name=aws-load-balancer-controller \ --role-name AmazonEKSLoadBalancerControllerRole \ --attach-policy-arn=arn:aws: iam::111122223333:policy/AWSLoadBalancerControllerIAMPolicy \ --approve
Fase 2: Installazione AWS Load Balancer Controller
-
Aggiungi l'archivio
eks-charts
cartografico Helm. AWS mantiene questo repository attivo. GitHub $ helm repo add eks https://aws.github.io/eks-charts
-
Aggiornare il repository locale per assicurarsi di avere i grafici più recenti.
$ helm repo update eks
-
Installa il AWS Load Balancer Controller.
Replace (Sostituisci)
my-cluster
con il nome del tuo cluster. Nel comando seguente,aws-load-balancer-controller
è Kubernetes account di servizio creato in un passaggio precedente.Per ulteriori informazioni sulla configurazione del grafico Helm, consulta 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
-
Se stai distribuendo il controller su EC2 nodi Amazon con accesso limitato al servizio di metadati delle EC2 istanze Amazon (IMDS)
o se lo stai distribuendo su Fargate, aggiungi i seguenti flag al comando che segue: helm
-
--set region=
region-code
-
--set vpcId=
vpc-xxxxxxxx
-
-
Per visualizzare le versioni disponibili di Helm Chart e Load Balancer Controller, utilizzate il seguente comando:
helm search repo eks/aws-load-balancer-controller --versions
Importante
Il grafico distribuito non riceve automaticamente gli aggiornamenti di sicurezza. È necessario eseguire manualmente l'aggiornamento a un grafico più recente quando diventa disponibile. Durante l'aggiornamento, modifica
install
aupgrade
nel comando precedente.
-
Il helm install
comando installa automaticamente le definizioni delle risorse personalizzate (CRDs) per il controller. Il helm upgrade
comando non lo fa. Se si utilizzahelm upgrade,
, è necessario installare manualmente il CRDsEseguire il comando seguente per installare . CRDs:
wget https://raw.githubusercontent.com/aws/eks-charts/master/stable/aws-load-balancer-controller/crds/crds.yaml kubectl apply -f crds.yaml
Passaggio 3: Verificare che il controller sia installato
-
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 lo hai distribuito utilizzando il Kubernetes manifest, hai solo una replica.
-
Prima di utilizzare il controller per il provisioning AWS delle risorse, il cluster deve soddisfare requisiti specifici. Per ulteriori informazioni, consulta Indirizza l'applicazione e HTTP il traffico con Application Load Balancer e Percorso TCP e UDP traffico con Network Load Balancer.