Aiutaci a migliorare questa pagina
Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.
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 usando Helm
Questo argomento descrive come installare 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, consulta la AWS Load Balancer Controllerdocumentazione
Nei passaggi che seguono, sostituire
con i propri valori.example values
Prerequisiti
Prima di iniziare questo tutorial, è necessario installare e configurare i seguenti strumenti e risorse necessarie per creare e gestire un cluster Amazon EKS.
-
Un cluster Amazon EKS esistente. Per implementarne uno, consulta Guida introduttiva ad Amazon EKS.
-
Un provider AWS Identity and Access Management (IAM) OpenID Connect (OIDC) esistente per il tuo cluster. Per determinare se disponi già di un provider IAM o per crearne uno, consulta Crea un OIDC provider IAM per il tuo cluster.
-
Assicurati che Amazon VPC CNI plugin for Kubernetes,
kube-proxy
e i componenti aggiuntivi CoreDNS siano alle versioni minime elencate in 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 ruolo IAM utilizzando eksctl
Nota
Devi solo creare un ruolo IAM per ogni AWS account. AWS Load Balancer Controller Controlla se AmazonEKSLoadBalancerControllerRole
esiste nella console IAM
Creare una policy IAM
-
Scaricare una policy IAM per il AWS Load Balancer Controller che consente di effettuare chiamate alle API AWS per conto dell'utente.
-
Creare una policy IAM utilizzando le policy scaricate nel passaggio precedente.
$
aws iam create-policy \ --policy-name
AWSLoadBalancerControllerIAMPolicy
\ --policy-document file://iam_policy.jsonNota
Se si visualizza la politica in AWS Management Console, 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.
Crea un ruolo IAM utilizzando eksctl
-
Sostituisci
con il nome del cluster emy-cluster
con il tuo ID account, quindi esegui il comando. Se il tuo cluster si trova negli AWS GovCloud (Stati Uniti orientali) o AWS GovCloud (Stati Uniti occidentali) Regioni AWS,111122223333
arn:aws:
sostituiscilo con.arn:aws-us-gov:
$
eksctl create iamserviceaccount \ --cluster=
my-cluster
\ --namespace=kube-system \ --name=aws-load-balancer-controller \ --role-nameAmazonEKSLoadBalancerControllerRole
\ --attach-policy-arn=arn:aws:iam::111122223333
:policy/AWSLoadBalancerControllerIAMPolicy
\ --approve
Fase 2: Installazione AWS Load Balancer Controller
Installazione AWS Load Balancer Controller tramite Helm V3
-
Aggiungi l'archivio cartografico
eks-charts
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 AWS Load Balancer Controller.
Sostituisci
con il nome del cluster. Nel comando seguente,my-cluster
aws-load-balancer-controller
indica l'account del servizio Kubernetes creato in una fase precedente.Per ulteriori informazioni sulla configurazione del diagramma di timoneria, vedere on.
values.yaml
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 implementando il controller su nodi Amazon EC2 che hanno accesso limitato ad Amazon EC2 Instance Metadata Service (IMDS)
o in Fargate, aggiungi questi flag al comando helm
seguente:-
--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 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 precedenteinstall
.upgrade
Il
helm install
comando installa automaticamente le definizioni di risorse personalizzate (CRDs) per il controller. Ilhelm upgrade
comando non lo fa. Se si utilizzahelm upgrade,
, è necessario installare manualmente ilCRDs. Esegui il comando seguente per installareCRDs: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 hai eseguito l'implementazione utilizzando il manifesto Kubernetes, hai una sola replica.
-
Prima di utilizzare il controller per il provisioning AWS delle risorse, il cluster deve soddisfare requisiti specifici. Per ulteriori informazioni, consultare Bilanciamento del carico di applicazione su Amazon EKS e Bilanciamento del carico di rete su Amazon EKS.