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à.
Inizia a lavorare AWS Fargate per il tuo cluster
Importante
AWS Fargate con Amazon non EKS è disponibile negli AWS GovCloud Stati Uniti orientali e AWS GovCloud negli Stati Uniti occidentali.
Questo argomento descrive come iniziare a utilizzare Pods AWS Fargate il tuo EKS cluster Amazon.
Se limiti l'accesso all'endpoint pubblico del cluster utilizzando i CIDR blocchi, ti consigliamo di abilitare anche l'accesso privato agli endpoint. In questo modo Fargate Pods può comunicare con il cluster. Senza l'endpoint privato abilitato, i CIDR blocchi specificati per l'accesso pubblico devono includere le fonti in uscita dal tuo. VPC Per ulteriori informazioni, consulta Controlla l'accesso alla rete all'endpoint API del server del cluster.
Prerequisito
Un cluster esistente. Se non disponi già di un EKS cluster Amazon, consultaInizia a usare Amazon EKS.
Fase 1: Assicurarsi che i nodi esistenti possano comunicare con Fargate Pods
Se utilizzi un nuovo cluster senza nodi di lavoro o un cluster con solo gruppi di nodi gestiti, puoi passare a Fase 2: Creare un ruolo di esecuzione Fargate Pod.
Poniamo che tu stia lavorando con un cluster esistente che dispone già di nodi associati. Assicurati che Pods su questi nodi possa comunicare liberamente con il Pods in esecuzione su Fargate. I Pods che sono in esecuzione su Fargate vengono configurati automaticamente per utilizzare il gruppo di sicurezza del cluster a cui sono associati. Devi verificare che tutti i nodi esistenti nel cluster possano inviare e ricevere traffico da e verso il gruppo di sicurezza del cluster. I Semplifica il ciclo di vita dei nodi con gruppi di nodi gestiti vengono configurati in automatico per utilizzare anche il gruppo di sicurezza del cluster, pertanto non è necessario modificarli o verificarli per garantire tale compatibilità.
Per i gruppi di nodi esistenti creati con eksctl
o i AWS CloudFormation modelli EKS gestiti da Amazon, puoi aggiungere manualmente il gruppo di sicurezza del cluster ai nodi. In alternativa, è possibile modificare il modello di avvio del gruppo Auto Scaling per il gruppo di nodi per collegare il gruppo di sicurezza cluster alle istanze. Per ulteriori informazioni, consulta Modifica dei gruppi di sicurezza di un'istanza nella Amazon VPC User Guide.
Puoi verificare la presenza di un gruppo di sicurezza per il AWS Management Console tuo cluster nella sezione Rete relativa al cluster. In alternativa, puoi farlo usando il seguente AWS CLI comando. Se utilizzi questo comando, sostituisci
con il nome del cluster.my-cluster
aws eks describe-cluster --name
my-cluster
--query cluster.resourcesVpcConfig.clusterSecurityGroupId
Fase 2: Creare un ruolo di esecuzione Fargate Pod
Quando il cluster si Pods attiva AWS Fargate, i componenti in esecuzione sull'infrastruttura Fargate devono effettuare chiamate per AWS APIs conto dell'utente. Il ruolo di EKS Pod esecuzione di Amazon fornisce le IAM autorizzazioni per eseguire questa operazione. Per creare un ruolo di AWS Fargate Pod esecuzione, consultaRuolo IAM per l'esecuzione del Pod Amazon EKS.
Nota
Se hai creato il cluster eksctl
utilizzando l'--fargate
opzione, il cluster dispone già di un ruolo di Pod esecuzione che puoi trovare nella IAM console con lo schemaeksctl-
. Allo stesso modo, se utilizzi my-cluster
-FargatePodExecutionRole-ABCDEFGHIJKL
eksctl
per creare i profili Fargate, eksctl
creerà il ruolo di esecuzione del Pod (se non ne esiste già uno).
Fase 3: Crea un profilo Fargate per il tuo cluster
Prima di poter pianificare i Pods in esecuzione su Fargate nel cluster, dovrai definire un profilo Fargate che specifichi i Pods che utilizzano Fargate al momento dell'avvio. Per ulteriori informazioni, consulta Definisci quale Pods utilizzo al AWS Fargate momento del lancio.
Nota
Se hai creato il cluster con eksctl
utilizzando l'opzione --fargate
, allora un profilo Fargate è già stato creato per il cluster con selettori per tutti i Pods pod negli spazi dei nomi kube-system
e default
. Utilizza la procedura seguente per creare profili Fargate per gli altri spazi dei nomi con cui desideri utilizzare Fargate.
È possibile creare un profilo Fargate utilizzando eksctl
o la AWS Management Console.
Fase 4: Aggiornamento CoreDNS
Per impostazione predefinita, CoreDNS è configurato per l'esecuzione sull'EC2infrastruttura Amazon su EKS cluster Amazon. Se desideri eseguire i Pods solo su Fargate nel cluster, completa la procedura riportata di seguito.
Nota
Se hai creato il cluster eksctl
utilizzando l'opzione --fargate
, puoi passare a Passaggi successivi.
Crea un profilo Fargate per CoreDNS con il seguente comando.
Sostituiscilomy-cluster
con il nome del cluster,111122223333
con l'ID dell'account, con il nome del tuo ruolo IDs di Pod esecuzione eAmazonEKSFargatePodExecutionRole
con le sottoreti private.0000000000000003
0000000000000001
Se non disponi di un ruolo di esecuzione del Pod, è necessario prima crearne uno.0000000000000002
Importante
Il ruolo non ARN può includere un percorso diverso da.
/
Ad esempio, se il nome del tuo ruolo èdevelopment/apps/my-role
, devi cambiarlo inmy-role
quando specifichi ARN il ruolo. Il formato del ruolo ARN deve esserearn:aws:iam::
.111122223333
:role/role-name
aws eks create-fargate-profile \ --fargate-profile-name coredns \ --cluster-name
my-cluster
\ --pod-execution-role-arn arn:aws:iam::111122223333
:role/AmazonEKSFargatePodExecutionRole
\ --selectors namespace=kube-system,labels={k8s-app=kube-dns} \ --subnets subnet-0000000000000001
subnet-0000000000000002
subnet-0000000000000003
Utilizza il comando seguente per rimuovere l'annotazione
eks.amazonaws.com/compute-type : ec2
dai CoreDNS Pods.kubectl patch deployment coredns \ -n kube-system \ --type json \ -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'
Passaggi successivi
-
Puoi avviare la migrazione delle applicazioni esistenti per l'esecuzione su Fargate con il seguente flusso di lavoro.
-
Crea un profilo Fargate che corrisponda allo spazio dei nomi Kubernetes e alle etichette Kubernetes dell'applicazione.
-
Elimina e crea nuovamente tutti i Pods esistenti in modo che siano programmati su Fargate. Ad esempio, il comando seguente attiva un rollout dell'implementazione
coredns
. Puoi modificare lo spazio dei nomi e il tipo di implementazione per aggiornare Pods specifici.kubectl rollout restart -n
kube-system
deployment coredns
-
-
Implementa Instrada l'applicazione e HTTP il traffico con Application Load Balancers per permettere l'esecuzione di oggetti Ingress per i Pods in esecuzione su Fargate.
-
È possibile utilizzare il Modifica le risorse del pod con Vertical Pod Autoscaler per impostare la dimensione iniziale CPU e la memoria corrette per FargatePods, quindi utilizzare il Implementazione scalabile dei pod con Horizontal Pod Autoscaler per ridimensionarle. Pods Se desideri che Vertical Pod Autoscaler venga ridistribuito automaticamente su Pods Fargate con combinazioni CPU superiori e di memoria, imposta la modalità di Vertical Pod Autoscaler su o.
Auto
Recreate
Ciò garantisce una corretta funzionalità. Per ulteriori informazioni, consulta la documentazione di Vertical Pod Autoscalersu GitHub. -
Puoi configurare il collettore AWS Distro for OpenTelemetry () ADOT per il monitoraggio
delle applicazioni seguendo queste istruzioni.