Definisci quale Pods utilizzo al AWS Fargate momento del lancio - Amazon EKS

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à.

Definisci quale Pods utilizzo al AWS Fargate momento del lancio

Importante

AWS Fargate con Amazon non EKS è disponibile negli AWS GovCloud Stati Uniti orientali e AWS GovCloud negli Stati Uniti occidentali.

Prima di programmare i Pods su Fargate nel cluster, è necessario definire almeno un profilo Fargate che specifichi i Pods utilizzati da Fargate al momento dell'avvio.

Come amministratore, puoi utilizzare il profilo Fargate per dichiarare quali profili Pods vengono eseguiti su Fargate. Puoi effettuare questa operazione tramite i selettori del profilo. Puoi aggiungere fino a cinque selettori a ogni profilo. Ogni selettore deve contenere uno spazio dei nomi. Il selettore può includere anche etichette. Il campo etichetta è costituito da più coppie chiave-valore facoltative. I pod che corrispondono ai selettori sono programmati su Fargate. I pod vengono abbinati utilizzando uno spazio dei nomi e le etichette specificate nel selettore. Se un selettore di namespace è definito senza etichette, Amazon EKS tenta di pianificare tutto ciò che viene eseguito in Pods quel namespace su Fargate utilizzando il profilo. Se a to-be-scheduled Pod corrisponde a uno qualsiasi dei selettori nel profilo Fargate, allora è programmato su Pod Fargate.

Se Pod corrisponde a più profili Fargate, puoi specificare quale profilo a Pod utilizza aggiungendo la seguente etichetta Kubernetes alla Pod specifica: eks.amazonaws.com/fargate-profile: my-fargate-profile. PodDeve corrispondere a un selettore in quel profilo per essere programmato su Fargate. Kubernetesle regole di affinità/antiaffinità non si applicano e non sono necessarie con Amazon Fargate. EKS Pods

Quando crei un profilo Fargate, devi specificare un ruolo di esecuzione Pod. Questo ruolo di esecuzione è per i EKS componenti Amazon eseguiti sull'infrastruttura Fargate utilizzando il profilo. Viene aggiunto al Role Kubernetes Based Access Control (RBAC) del cluster per l'autorizzazione. In questo modo, kubelet ciò che viene eseguito sull'infrastruttura Fargate può registrarsi nel EKS cluster Amazon e apparire nel cluster come nodo. Il ruolo di Pod esecuzione fornisce inoltre IAM le autorizzazioni all'infrastruttura Fargate per consentire l'accesso in lettura agli archivi di immagini ECR Amazon. Per ulteriori informazioni, consulta Ruolo IAM per l'esecuzione del Pod Amazon EKS.

I profili Fargate non possono essere modificati. Tuttavia, è possibile creare un nuovo profilo aggiornato per sostituire un profilo esistente e quindi eliminare l'originale.

Nota

Qualsiasi Pods in esecuzione utilizzando un profilo Fargate vengono arrestati e messi in sospeso quando il profilo viene eliminato.

Se tutti i profili in un cluster sono nello stato DELETING, è necessario attendere che tale profilo Fargate finisca l'eliminazione prima di poter creare altri profili in tale cluster.

Amazon EKS e Fargate si diffondono Pods su ciascuna delle sottoreti definite nel profilo Fargate. Tuttavia, potresti ritrovarti con una diffusione irregolare. Se devi avere una diffusione uniforme, usa due profili Fargate. Anche la diffusione è importante in scenari in cui si desidera implementare due repliche e non si vogliono tempi di inattività. È consigliabile che ogni profilo abbia una sola sottorete.

Componenti del profilo Fargate

Un profilo Fargate contiene i componenti elencati di seguito.

Ruolo di esecuzione del pod

Quando il cluster si Pods attiva AWS Fargate, il kubelet cluster in esecuzione sull'infrastruttura Fargate deve effettuare chiamate per AWS APIs conto dell'utente. Ad esempio, deve effettuare chiamate per estrarre le immagini dei container da AmazonECR. Il ruolo di EKS Pod esecuzione di Amazon fornisce le IAM autorizzazioni per eseguire questa operazione.

Quando crei un profilo Fargate, devi specificare un ruolo di esecuzione del Pod da utilizzare con i tuoi Pods. Questo ruolo viene aggiunto al controllo degli accessi Kubernetes basato sul ruolo (RBAC) del cluster per l'autorizzazione. In questo modo ciò kubelet che è in esecuzione sull'infrastruttura Fargate può registrarsi nel tuo EKS cluster Amazon e apparire nel tuo cluster come nodo. Per ulteriori informazioni, consulta Ruolo IAM per l'esecuzione del Pod Amazon EKS.

Sottoreti

Le IDs sottoreti da avviare Pods utilizzano questo profilo. In questo momento, ai Pods in esecuzione su Fargate non vengono assegnati indirizzi IP pubblici. Di conseguenza, in virtù di questo parametro, sono accettate solo le sottoreti private senza routing diretto a un gateway Internet.

Selettori

I selettori da abbinare ai Pods per utilizzare questo profilo Fargate. È possibile specificare fino a cinque selettori in un profilo Fargate. I selettori hanno le seguenti componenti:

  • Spazio dei nomi: specifica uno spazio dei nomi per un selettore. Il selettore corrisponde solo a Pods che vengono creati in questo spazio dei nomi. Tuttavia, è possibile creare più selettori per rivolgersi a più spazi dei nomi.

  • Etichette: è possibile specificare facoltativamente le etichette Kubernetes che corrispondono al selettore. Il selettore corrisponde solo ai Pods che hanno tutte le etichette specificate nel selettore.

Caratteri jolly del profilo Fargate

Oltre ai caratteri consentiti da Kubernetes, puoi utilizzare * e ? nei criteri di selezione per gli spazi dei nomi, chiavi di etichette e valori di etichette:

  • * rappresenta nessuno, uno o più caratteri. Ad esempio, prod* può rappresentare prod e prod-metrics.

  • ? rappresenta un singolo carattere (ad esempio, value? può rappresentare valuea). Tuttavia, non può rappresentare value e value-a, perché ? può rappresentare esattamente un solo carattere.

Questi caratteri jolly possono essere utilizzati in qualsiasi posizione e in combinazione (ad esempio prod*, *dev, e frontend*?). Altri caratteri jolly e forme di corrispondenza del modello, ad esempio le espressioni regolari, non sono supportati.

Se sono presenti più profili corrispondenti per lo spazio dei nomi e le etichette nelle specifiche del Pod, Fargate seleziona il profilo in base all'ordinamento alfanumerico e al nome del profilo. Ad esempio, se entrambi i profili A (con il nome beta-workload) e il profilo B (con il nome prod-workload) hanno dei selettori corrispondenti per i Pods da avviare, Fargate sceglie il profilo A (beta-workload) per i Pods. I Pods hanno etichette con il profilo A sui Pods (ad esempio, eks.amazonaws.com/fargate-profile=beta-workload).

Se desideri migrare i Pods Fargate esistenti su nuovi profili che utilizzano caratteri jolly, puoi farlo in due modi:

  • Crea un nuovo profilo con i selettori corrispondenti e poi elimina i vecchi profili. I pod etichettati con vecchi profili vengono riprogrammati con nuovi profili corrispondenti.

  • Se desideri migrare i carichi di lavoro ma non hai la certezza di quali siano le etichette Fargate su ogni Pod Fargate, puoi utilizzare il seguente metodo. Crea un nuovo profilo con un nome che risulti primo in ordine alfanumerico tra i profili dello stesso cluster. Quindi, ricicla i Pods Fargate che devono essere migrati a nuovi profili.

Creazione di un profilo Fargate

Questa sezione descrive come creare un profilo Fargate. È inoltre necessario aver creato un ruolo di esecuzione del Pod da utilizzare per il profilo Fargate. Per ulteriori informazioni, vedereRuolo IAM per l'esecuzione del Pod Amazon EKS. Podsche sono in esecuzione su Fargate sono supportati solo su sottoreti private con accesso NATgateway a Servizi AWS, ma non tramite un percorso diretto verso un Internet Gateway. In questo modo i cluster VPC devono disporre di sottoreti private. È possibile creare un profilo con eksctl o la AWS Management Console.

eksctl

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'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 Caratteri jolly del profilo Fargate.

AWS Management Console
Per creare un profilo Fargate per un cluster con AWS Management Console
  1. Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters.

  2. Scegli il cluster per cui creare un profilo Fargate.

  3. Scegli la scheda Calcolo.

  4. Nella sezione Profili Fargate, scegli Aggiungi profilo Fargate.

  5. Nella pagina Configure Fargate profile (Configura profilo Fargate), procedere come segue:

    1. In Nome, inserisci un nome univoco per il profilo Fargate, ad esempio my-profile.

    2. Per il ruolo di esecuzione del pod, scegli il ruolo di esecuzione del Pod da utilizzare con il profilo Fargate. Vengono visualizzati solo i IAM ruoli con il responsabile del eks-fargate-pods.amazonaws.com servizio. Se non è presente alcun ruolo nell'elenco, è necessario crearne uno. Per ulteriori informazioni, consulta Ruolo IAM per l'esecuzione del Pod Amazon EKS.

    3. Modifica le sottoreti selezionate in base alle esigenze.

      Nota

      Per i Pods in esecuzione su Fargate sono supportate solo le sottoreti private.

    4. In Tag, puoi facoltativamente aggiungere tag al tuo profilo Fargate. Questi tag non si propagano ad altre risorse associate al profilo, ad esempio i suoi Pods.

    5. Scegli Next (Successivo).

  6. Nella pagina Configura la selezione dei Pod, procedi come segue:

    1. In Spazio dei nomi, inserisci uno spazio dei nomi che corrisponda ai Pods.

      • È possibile utilizzare spazi dei nomi specifici da abbinare, ad esempio kube-system o default.

      • È possibile utilizzare determinati caratteri jolly (ad esempio, prod-*) per abbinare più spazi dei nomi (ad esempio, prod-deployment e prod-test). Per ulteriori informazioni, consulta Caratteri jolly del profilo Fargate.

    2. (Facoltativo) Aggiungi etichette Kubernetes al selettore. In particolare, aggiungerle al selettore con cui i Pods nello spazio dei nomi specificato devono corrispondere.

      • È possibile aggiungere l'etichetta infrastructure: fargate al selettore in modo che solo i Pods nello spazio dei nomi specificato che hanno anche l'etichetta infrastructure: fargate Kubernetes corrispondano al selettore.

      • È possibile utilizzare determinati caratteri jolly (ad esempio, key?: value?) per abbinare più spazi dei nomi (ad esempio, keya: valuea e keyb: valueb). Per ulteriori informazioni, consulta Caratteri jolly del profilo Fargate.

    3. Scegli Next (Successivo).

  7. Nella pagina Rivedi e crea, controlla le informazioni relative al profilo Fargate e scegli Crea.