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à.
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 pod Fargate 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 Endpoint del server API del cluster.
Prerequisito
Un cluster esistente. Se si dispone già di un cluster Amazon EKS, consultare la pagina Nozioni di base su Amazon EKS.
Fase 1: assicurarsi che i nodi esistenti possano comunicare con i pod Fargate
Se si utilizza un nuovo cluster senza nodi o un cluster con solo gruppi di nodi gestiti (consultare Semplifica il ciclo di vita dei nodi con gruppi di nodi gestiti), è possibile passare a Fase 2: creare un ruolo di esecuzione del pod Fargate.
Supponiamo di lavorare con un cluster esistente che dispone già di nodi associati. Assicurarsi 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. È necessario assicurarsi che eventuali i nodi esistenti nel cluster possano inviare e ricevere traffico da e verso il gruppo di sicurezza del cluster. I gruppi di nodi gestiti vengono configurati automaticamente per utilizzare anche il gruppo di sicurezza del cluster, quindi non è necessario modificarli o verificare questa compatibilità (consultare Semplifica 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, consultare Changing an instance’s security groups nella Guida per l’utente di Amazon VPC.
Puoi verificare la presenza di un gruppo di sicurezza per il Console di gestione AWS tuo cluster nella sezione Rete relativa al cluster. 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 del pod Fargate
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 del pod Amazon EKS fornisce le autorizzazioni IAM per eseguire questa operazione. Per creare un ruolo di esecuzione di AWS Fargate Pod, vedere. Ruolo IAM di esecuzione del pod di Amazon EKS
Nota
Se il cluster è stato creato con eksctl utilizzando l’opzione --fargate, dispone già di un ruolo di esecuzione del pod disponibile nella console IAM con il modello eksctl-my-cluster-FargatePodExecutionRole-ABCDEFGHIJKL. Allo stesso modo, se si utilizza eksctl per creare i profili Fargate, eksctl crea il ruolo di esecuzione del pod se non ne esiste già uno.
Fase 3: creare un profilo Fargate per il cluster
Prima di poter pianificare i pod in esecuzione su Fargate nel cluster, sarà necessario definire un profilo Fargate che specifichi i pod che utilizzano Fargate al momento dell’avvio. Per ulteriori informazioni, consulta Definisci quali pod utilizzano AWS Fargate durante l’avvio.
Nota
Se il cluster è stato creato con eksctl utilizzando l’opzione --fargate, allora un profilo Fargate è già stato creato per il cluster con selettori per tutti i pod nei namespace kube-system e default. Utilizza la procedura seguente per creare profili Fargate per gli altri namespace con cui desideri utilizzare Fargate.
È possibile creare un profilo Fargate utilizzando uno di questi due strumenti:
eksctl
Questa procedura richiede eksctl versione 0.215.0 o successiva. È possibile 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 un namespace. Tuttavia, l’opzione --labels non è obbligatoria.
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 Wildcard del profilo di Fargate.
Console di gestione AWS
Creazione di un profilo Fargate con Console di gestione AWS
-
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.
-
Come Ruolo di esecuzione pod, scegliere il ruolo di esecuzione del pod da utilizzare con il profilo Fargate. Vengono visualizzati solo i ruoli IAM con il principale del servizio
eks-fargate-pods.amazonaws.com. Se non vedi alcun ruolo nell’elenco, è necessario crearne uno. Per ulteriori informazioni, consulta Ruolo IAM di esecuzione del pod di Amazon EKS. -
Modifica le sottoreti selezionate in base alle esigenze.
Nota
Solo le sottoreti private sono supportate per i pod in esecuzione su Fargate.
-
In Tag, puoi facoltativamente aggiungere tag al tuo profilo Fargate. Questi tag non si propagano ad altre risorse associate al profilo come i pod.
-
Scegli Next (Successivo).
-
-
Nella pagina Configura selezione pod, procedi come segue:
-
In Namespace, inserisci un namespace che corrisponda ai pod.
-
È possibile utilizzare namespace specifici da abbinare, ad esempio
kube-systemodefault. -
È possibile utilizzare determinati caratteri jolly (ad esempio,
prod-*) per abbinare più namespace (ad esempio,prod-deploymenteprod-test). Per ulteriori informazioni, consulta Wildcard del profilo di Fargate.
-
-
(Facoltativo) Aggiungere etichette Kubernetes al selettore. In particolare, aggiungerle al selettore con cui i pod nel namespace specificato devono corrispondere.
-
È possibile aggiungere l’etichetta
infrastructure: fargateal selettore in modo che solo i pod nel namespace specificato che hanno anche l’etichetta Kubernetesinfrastructure: fargatecorrispondano al selettore. -
È possibile utilizzare determinati caratteri jolly (ad esempio,
key?: value?) per abbinare più namespace (ad esempio,keya: valueaekeyb: valueb). Per ulteriori informazioni, consulta Wildcard del profilo di Fargate.
-
-
Scegli Next (Successivo).
-
-
Nella pagina Rivedi e crea, controlla le informazioni relative al profilo Fargate e scegli Crea.
Fase 4: aggiornare CoreDNS
Per impostazione predefinita, CoredNS è configurato per l'esecuzione sull' EC2 infrastruttura Amazon su cluster Amazon EKS. Se si desidera solo eseguire i pod su Fargate nel cluster, seguire la procedura riportata di seguito.
Nota
Se è stato creato il cluster eksctl utilizzando l'opzione --fargate è possibile passare a Fasi successive.
-
Creare un profilo Fargate per CoreDNS con il seguente comando. Sostituiscilo
<my-cluster>con il nome del cluster,<111122223333>con l'ID dell'account,<AmazonEKSFargatePodExecutionRole>con il nome del ruolo di esecuzione del Pod e<000000000000000a><000000000000000c>con le sottoreti IDs private.<000000000000000b>Se non si dispone di un ruolo di esecuzione del pod, è necessario prima crearne uno (consultare Fase 2: creare un ruolo di esecuzione del pod Fargate).Importante
L’ARN del ruolo non può includere un percorso diverso da
/. Ad esempio, se il nome del ruolo èdevelopment/apps/AmazonEKSFargatePodExecutionRole, è necessario modificarlo inAmazonEKSFargatePodExecutionRolequando si specifica l'ARN per tale ruolo. Il formato dell'ARN del ruolo deve esserearn:aws: iam::<111122223333>:role/<AmazonEKSFargatePodExecutionRole>.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-<000000000000000a> subnet-<000000000000000b> subnet-<000000000000000c> -
Attivare un rollout dell’implementazione
coredns.kubectl rollout restart -n kube-system deployment coredns
Fasi successive
-
Puoi avviare la migrazione delle applicazioni esistenti per l'esecuzione su Fargate con il seguente flusso di lavoro.
-
Creazione di un profilo Fargate che corrisponda al namespace Kubernetes e alle etichette Kubernetes dell’applicazione.
-
Eliminare e creare nuovamente tutti i pod esistenti in modo che siano programmati su Fargate. Modificare
<namespace>e<deployment-type>per aggiornare i pod specifici.kubectl rollout restart -n <namespace> deployment <deployment-type>
-
-
Implementare Instradare il traffico di applicazioni e HTTP con Application Load Balancer per permettere l’esecuzione di oggetti Ingress per i pod in esecuzione su Fargate.
-
È possibile utilizzare Regolazione delle risorse del pod con Vertical Pod Autoscaler per impostare la dimensione corretta iniziale della CPU e la memoria per i pod Fargate, quindi utilizzare il comando Scalare le implementazioni dei pod con Horizontal Pod Autoscaler per scalare tali pod. Se si desidera che il Vertical Pod Autoscaler implementi di nuovo automaticamente i pod su Fargate con combinazioni di CPU e memoria più grandi, impostare la modalità del Vertical Pod Autoscaler su
AutooRecreate. 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.