Aiutaci 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à.
Inizia a usare AWS Fargate per il tuo cluster
Questo argomento descrive come iniziare a eseguire Pods su AWS Fargate con il tuo cluster Amazon EKS.
Se limiti l'accesso all'endpoint pubblico del cluster utilizzando blocchi CIDR, consigliamo di abilitare anche l'accesso agli endpoint privati. In questo modo, i Fargate Pod possono comunicare con il cluster. Senza l'endpoint privato abilitato, i blocchi CIDR specificati per l'accesso pubblico devono includere le origini di uscita dal VPC. Per ulteriori informazioni, consulta Controlla l'accesso alla rete all'endpoint del server API del cluster.
Prerequisito
Un cluster esistente. Se non disponi già di un cluster Amazon EKS, consultaNozioni di base su Amazon EKS.
Fase 1: Assicuratevi che i nodi esistenti possano comunicare con i Fargate Pod
Se stai lavorando con un nuovo cluster senza nodi o con un cluster con solo gruppi di nodi gestiti (vediSemplifica il ciclo di vita dei nodi con gruppi di nodi gestiti), puoi passare a. Fase 2: Creare un ruolo di esecuzione di Fargate Pod
Supponiamo di lavorare con un cluster esistente a cui sono già associati nodi. Assicurati che i Pod su questi nodi possano comunicare liberamente con i Pod in esecuzione su Fargate. I pod in esecuzione su Fargate vengono configurati automaticamente per utilizzare il gruppo di sicurezza del cluster per il cluster a cui sono associati. Assicurati che tutti i nodi esistenti nel cluster possano inviare e ricevere traffico da e verso il gruppo di sicurezza del cluster. I gruppi di nodi gestiti sono configurati automaticamente per utilizzare anche il gruppo di sicurezza del cluster, quindi non è necessario modificarli o verificarli per questa compatibilità (vediSemplifica il ciclo di vita dei nodi con gruppi di nodi gestiti).
Per i gruppi di nodi esistenti che sono stati creati con eksctl
o i AWS CloudFormation modelli gestiti di Amazon EKS, 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 tuo cluster nella sezione Rete relativa al cluster. AWS Management Console In alternativa, è possibile eseguire questa operazione utilizzando il seguente AWS comando CLI. Se utilizzi questo comando, sostituisci my-cluster
con il nome del cluster.
aws eks describe-cluster --name my-cluster --query cluster.resourcesVpcConfig.clusterSecurityGroupId
Fase 2: Creare un ruolo di esecuzione di Fargate Pod
Quando il cluster crea Pod su AWS Fargate, i componenti che girano sull'infrastruttura Fargate devono effettuare chiamate AWS APIs per conto dell'utente. Il ruolo di esecuzione di Amazon EKS Pod fornisce le autorizzazioni IAM per eseguire questa operazione. Per creare un ruolo di esecuzione di AWS Fargate Pod, vedere. Ruolo IAM di esecuzione di Amazon EKS Pod
Nota
Se hai creato il cluster eksctl
utilizzando l'--fargate
opzione, il cluster dispone già di un ruolo di esecuzione Pod che puoi trovare nella console IAM con lo schemaeksctl-my-cluster-FargatePodExecutionRole-ABCDEFGHIJKL
. Allo stesso modo, se lo utilizzi eksctl
per creare i tuoi profili Fargate, eksctl
crea il tuo ruolo di esecuzione Pod se non ne hai già creato uno.
Fase 3: Crea un profilo Fargate per il tuo cluster
Prima di poter pianificare i Pod in esecuzione su Fargate nel cluster, è necessario definire un profilo Fargate che specifichi quali Pod utilizzano Fargate all'avvio. Per ulteriori informazioni, consulta Definisci quali Pod utilizzano AWS Fargate al momento del lancio.
Nota
Se hai creato il cluster eksctl
utilizzando l'--fargate
opzione, allora è già stato creato un profilo Fargate per il cluster con selettori per tutti i Pod nei namespace e. kube-system
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 uno di questi strumenti:
eksctl
Questa procedura richiede eksctl
versione 0.204.0
o successiva. Puoi verificare la versione con il comando seguente:
eksctl version
Per istruzioni sull'installazione o sull'aggiornamento di eksctl
, consulta la sezione Installationeksctl
.
Per creare un profilo Fargate con eksctl
Crea il tuo profilo Fargate con il seguente comando eksctl
, sostituendo ogni example value
con i valori in tuo possesso. È necessario specificare uno spazio dei nomi. Tuttavia, l'--labels
opzione non è richiesta.
eksctl create fargateprofile \ --cluster my-cluster \ --name my-fargate-profile \ --namespace my-kubernetes-namespace \ --labels key=value
È possibile utilizzare determinati caratteri jolly per my-kubernetes-namespace
e etichette key=value
. Per ulteriori informazioni, consulta Caratteri jolly del profilo Fargate.
AWS Management Console
Per creare un profilo Fargate con AWS Management Console
-
Aprire la Console Amazon EKS
. -
Scegli il cluster per cui creare un profilo Fargate.
-
Scegli la scheda Calcolo.
-
Nella sezione Profili Fargate, scegli Aggiungi profilo Fargate.
-
Nella pagina Configura il profilo Fargate, procedi come segue:
-
In Nome, inserisci un nome per il profilo Fargate. Il nome deve essere univoco.
-
Per il ruolo di esecuzione del Pod, scegliete il ruolo di esecuzione del Pod da utilizzare con il vostro profilo Fargate. Vengono visualizzati solo i ruoli IAM con il principale del servizio
eks-fargate-pods.amazonaws.com
. Se non vedi alcun ruolo elencato, devi crearne uno. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione di Amazon EKS Pod. -
Modifica le sottoreti selezionate in base alle esigenze.
Nota
Per i Pod in esecuzione su Fargate sono supportate solo le sottoreti private.
-
In Tag, puoi facoltativamente aggiungere tag al tuo profilo Fargate. Questi tag non si propagano ad altre risorse associate al profilo, come i Pods.
-
Scegli Next (Successivo).
-
-
Nella pagina di selezione Configure Pod, procedi come segue:
-
Per Namespace, inserisci uno spazio dei nomi da abbinare ai Pod.
-
È possibile utilizzare spazi dei nomi specifici da abbinare, ad esempio
kube-system
odefault
. -
È possibile utilizzare determinati caratteri jolly (ad esempio,
prod-*
) per abbinare più spazi dei nomi (ad esempio,prod-deployment
eprod-test
). Per ulteriori informazioni, consulta Caratteri jolly del profilo Fargate.
-
-
(Facoltativo) Aggiungere etichette Kubernetes al selettore. Aggiungili in particolare a quello a cui devono corrispondere i Pod nello spazio dei nomi specificato.
-
Puoi aggiungere l'etichetta
infrastructure: fargate
al selettore in modo che solo i pod nello spazio dei nomi specificato che hanno anche l'etichetta Kubernetes corrispondano al selettore.infrastructure: fargate
-
È possibile utilizzare determinati caratteri jolly (ad esempio,
key?: value?
) per abbinare più spazi dei nomi (ad esempio,keya: valuea
ekeyb: valueb
). Per ulteriori informazioni, consulta Caratteri jolly del profilo Fargate.
-
-
Scegli Next (Successivo).
-
-
Nella pagina Rivedi e crea, controlla le informazioni relative al profilo Fargate e scegli Crea.
Fase 4: Aggiornamento di CoredNS
Per impostazione predefinita, CoredNS è configurato per l'esecuzione sull' EC2 infrastruttura Amazon su cluster Amazon EKS. Se desideri utilizzare i tuoi Pod su Fargate solo nel tuo cluster, completa i seguenti passaggi.
Nota
Se è stato creato il cluster eksctl
utilizzando l'opzione --fargate
è possibile passare a Passaggi successivi.
-
Crea un profilo Fargate per CoredNS con il seguente comando. Sostituiscilo
my-cluster
con il nome del tuo cluster,111122223333
con l'ID del tuo account,AmazonEKSFargatePodExecutionRole
con il nome del tuo ruolo di esecuzione di Pod e0000000000000001
0000000000000002
, e0000000000000003
con le tue IDs sottoreti private. Se non disponi di un ruolo di esecuzione Pod, devi prima crearne uno (vediFase 2: Creare un ruolo di esecuzione di Fargate Pod).Importante
Il ruolo ARN non può includere un percorso diverso da.
/
Ad esempio, se il nome del ruolo èdevelopment/apps/my-role
, è necessario modificarlo inmy-role
quando si specifica l'ARN per tale ruolo. Il formato dell'ARN del ruolo 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
-
Esegui il comando seguente per rimuovere l'
eks.amazonaws.com/compute-type : ec2
annotazione 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.
-
Creazione di un profilo Fargateche corrisponde allo spazio dei nomi Kubernetes e alle etichette Kubernetes dell'applicazione.
-
Elimina e ricrea tutti i Pod esistenti in modo che siano programmati su Fargate. Ad esempio, il comando seguente attiva l'implementazione del
coredns
. Puoi modificare lo spazio dei nomi e il tipo di distribuzione per aggiornare i tuoi Pod specifici.kubectl rollout restart -n kube-system deployment coredns
-
-
Indirizza il traffico di applicazioni e HTTP con Application Load BalancerImplementa gli oggetti per consentire l'ingresso dei tuoi Pod su Fargate.
-
È possibile utilizzare il Regola le risorse del pod con Vertical Pod Autoscaler per impostare la dimensione iniziale corretta della CPU e della memoria per i Fargate Pod, quindi utilizzare il per Scala le implementazioni dei pod con Horizontal Pod Autoscaler ridimensionare tali Pod. Se desideri che Vertical Pod Autoscaler ridistribuisca automaticamente i Pod su Fargate con combinazioni di CPU e memoria più elevate, imposta la modalità di Vertical Pod Autoscaler su una o.
Auto
Recreate
Ciò garantisce una corretta funzionalità. Per ulteriori informazioni, consulta la documentazione di Vertical Pod Autoscalersu GitHub. -
Ora puoi impostare il collector AWS Distro per OpenTelemetry
(ADOT) per il monitoraggio delle applicazioni seguendo queste istruzioni.