AWS Builder Center: Learn, Build and Connect with builders in the AWS community
AWS Builder Center is the official home for builders on AWS. Share and read what others are working on, follow people who inspire you, explore training and workshops, and find tools to support what you're building.
Come posso risolvere i problemi quando creo un profilo AWS Fargate?
Ho problemi quando creo un profilo AWS Fargate.
Breve descrizione
Un profilo Fargate è un meccanismo per specificare quali pod sono pianificati sui nodi Fargate in un cluster Amazon Elastic Kubernetes Service (Amazon EKS).
Un profilo Fargate ha selettori che corrispondono a tutti i file YAML delle specifiche del pod in arrivo. La corrispondenza deve avere esito positivo e le considerazioni di AWS Fargate devono essere soddisfatte prima che il pod venga pianificato sui nodi Fargate. Il pod è pianificato con sottoreti e il ruolo AWS Identity and Access Management (IAM) specificato nel profilo Fargate.
Alcune delle regole di posizionamento dei pod sono le seguenti:
- Se una specifica del pod ha uno spazio dei nomi e una configurazione dell'etichetta di corrispondenza, il pod viene inserito nel profilo Fargate che corrisponde allo spazio dei nomi. Le specifiche del pod devono inoltre corrispondere alle etichette del selettore di pod
- Se il profilo Fargate ha più configurazioni del selettore di pod, viene utilizzato il pod pianificato che corrisponde a una delle configurazioni del selettore di pod.
- Se le specifiche di un pod corrispondono a più profili Fargate, il pod viene pianificato in base a un profilo Fargate casuale. Ciò si verifica a meno che nella specifica del pod non sia specificata la seguente annotazione: eks.amazonaws.com/fargate-profile.
- Le regole di affinità e antiaffinità di Kubernetes non si applicano e non sono necessarie con Amazon EKS Fargate Pods.
Risoluzione
Di seguito sono riportati i problemi più comuni riscontrati durante la creazione di un profilo Fargate:
Come posso creare un profilo Fargate per programmare i pod sui nodi Fargate?
Puoi utilizzare la console Amazon EKS, l'interfaccia a riga di comando AWS (AWS CLI), l'SDK o un'API per creare un profilo Fargate.
Come posso creare un profilo Fargate con AWS CloudFormation?
Usa il tipo AWS::EKS::FargateProfile CloudFormation resource type per creare un profilo Fargate.
Come posso eseguire i pod CoreDNS solo sui nodi Fargate?
Per impostazione predefinita, CoreDNS è configurato per funzionare sull'infrastruttura Amazon EC2 su cluster Amazon EKS. Se desideri eseguire i CoreDNS Pod sull'elaborazione serverless di Fargate nel tuo cluster, devi eseguire il riavvio del rollout delle distribuzioni CoreDNS.
Se hai creato il tuo cluster con eksctl e l'opzione\ --fargate, segui le azioni nei passaggi successivi.
**Nota:**è consigliabile utilizzare eksctl per creare o aggiornare i cluster EKS perché semplifica l'amministrazione delle risorse del cluster. Per ulteriori informazioni, consulta l'assistenza di EKS Fargate sul sito web eksctl.
Quali sono i limiti predefiniti per un profilo Fargate?
I limiti predefiniti quando si crea un profilo Fargate sono:
- Un cluster EKS può avere fino a dieci profili Fargate.
- Il profilo Fargate può avere fino a cinque selettori.
- Il selettore di profili Fargate può avere fino a cinque coppie di etichette.
Quale ruolo di esecuzione del pod deve essere incluso nel profilo Fargate?
Il ruolo di esecuzione del pod è un ruolo IAM utilizzato dal nodo Fargate per effettuare chiamate API AWS. La policy AmazonEksFarGatePodExecutionRolePolicy gestita essere associata a questo ruolo.
Kubelet sul nodo Fargate utilizza questo ruolo IAM per comunicare con il server API. Questo ruolo deve essere incluso in aws-auth ConfigMap in modo che Kubelet possa autenticarsi con il server API. Quando si crea un profilo Fargate, il flusso di lavoro Fargate aggiunge automaticamente questo ruolo alla ConfigMap aws-auth del cluster.
Se i tuoi nodi Fargate vengono visualizzati come «Non pronti», assicurati che il ruolo di esecuzione del pod sia incluso in aws-auth ConfigMap.
Quello che segue è un esempio di frammento di sezione aws-auth ConfigMap MapRoles dopo aver creato un profilo Fargate con un ruolo di esecuzione del pod:
mapRoles: | - groups: - system:bootstrappers - system:nodes - system:node-proxier rolearn: <Pod_execution_role_ARN> username: system:node:{{SessionName}}
Se la ConfigMap di aws-auth viene modificata dopo aver creato il profilo Fargate, potresti ricevere questo avviso quando sono programmati i pod sui nodi Fargate:
Pod provisioning timed out (will retry) for pod: <pod_nginx>
Desiero migrare i carichi di lavoro su EKS Fargate. Come posso creare sottoreti e gruppi di sicurezza per l'utilizzo?
EKS Fargate supporta solo sottoreti private. Ciò significa che non esiste un percorso predefinito verso il gateway Internet nelle tabelle di routing allegate alle sottoreti specificate nel tuo profilo Fargate. Quindi, puoi avere un gateway NAT o endpoint VPC configurati per le sottoreti che intendi utilizzare per il profilo Fargate.
Per impostazione predefinita, il gruppo di sicurezza del cluster è collegato ai nodi Fargate. Non è necessario effettuare il provisioning di un gruppo di sicurezza specifico per questo scopo.
Se utilizzi endpoint VPC per le tue sottoreti, assicurati che nel cluster sia attivato l'accesso rivato agli endpoint. Il gruppo di sicurezza collegato agli endpoint VPC deve avere una regola in entrata che consenta il traffico sulla porta HTTPS 443 dal CIDR VPC del cluster.
Ho creato profili Fargate con un provisioner basato su API come Terraform o AWS CloudFormation. Perché i miei profili Fargate sono nello stato CREATE\ _FAILED?
È possibile creare o eliminare un solo profilo Fargate alla volta. Se si elimina un profilo Fargate, nessun altro profilo Fargate può essere creato o eliminato contemporaneamente.
Se si utilizza un provisioner basato su API, la creazione o l'eliminazione di un profilo Fargate deve iniziare dopo che tutti gli altri profili Fargate sono stati creati o eliminati correttamente.
Posso specificare le risorse (CPU, memoria) da fornire per i nodi Fargate all'interno del profilo Fargate?
Non è possibile specificare direttamente la quantità di risorse da assegnare all'interno del profilo Fargate. È consigliabile specificare le richieste di risorse all'interno del file YAML delle specifiche del pod Fargate. Ciò aiuta il flusso di lavoro di Fargate ad assegnare almeno quella quantità di risorse per il pod. Per informazioni sulle specifiche dei pod, consulta la sezione How Kubernetes applies resource requests and limits sul sito web di Kubernetes.
La quantità di vCPU o memoria che vedi dopo aver eseguito il comando kubectl describe node potrebbe non essere la stessa richiesta per il pod. La quantità di memoria e CPU di cui dispone il nodo dipende dalla capacità disponibile nel pool di allocazione delle risorse di Fargate. La fatturazione viene effettuata in base all'importo richiesto nelle specifiche del pod. Non ti viene addebitata la quantità di risorse visibili con kubectl.
**Nota:**se non si specifica una combinazione di vCPU e memoria, viene utilizzata la combinazione più piccola disponibile (0,25 vCPU e 0,5 GB di memoria).
- Argomenti
- Containers
- Lingua
- Italiano
