AWS Fargate profilo - Amazon EKS

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

AWS Fargate profilo

Importante

AWS Fargate con Amazon EKS non è 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 dello spazio dei nomi è definito senza etichette, Amazon EKS tenterà di pianificare tutti i Pods che vengono eseguiti in tale spazio dei nomi 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. Il Pod dovrà corrispondere a un selettore in quel profilo per essere pianificato su Fargate. Le regole di affinità/anti-affinità Kubernetes non vengono prese in considerazione e non sono necessarie con i Pods di Amazon EKS Fargate.

Quando crei un profilo Fargate, devi specificare un ruolo di esecuzione Pod. Questo ruolo di esecuzione è per i componenti Amazon EKS che vengono eseguiti su infrastruttura Fargate utilizzando il profilo. Viene aggiunto al controllo degli accessi basato sul ruolo (RBAC) di Kubernetes del cluster per l'autorizzazione. Ciò consente a kubelet in esecuzione sull'infrastruttura Fargate di registrarsi con il cluster Amazon EKS in modo che possa essere visualizzato nel cluster come nodo. Il ruolo di esecuzione del Pod fornisce anche le autorizzazioni IAM per l'infrastruttura Fargate per consentire l'accesso in lettura ai repository di immagini di Amazon ECR. 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 cercano di implementare i 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 alle AWS API per conto dell'utente. Ad esempio, deve effettuare chiamate per estrarre le immagini del container da Amazon ECR. Il ruolo di esecuzione del Pod Amazon EKS fornisce le autorizzazioni IAM 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 basato sul ruolo (RBAC) di Kubernetes del cluster per l'autorizzazione. Ciò consente a kubelet in esecuzione sull'infrastruttura Fargate di registrarsi con il cluster Amazon EKS in modo che possa essere visualizzato nel cluster come nodo. Per ulteriori informazioni, consulta Ruolo IAM per l'esecuzione del Pod Amazon EKS.

Sottoreti

Gli ID delle sottoreti per avviare i Pods che 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

Questo argomento 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, vedere. Ruolo IAM per l'esecuzione del Pod Amazon EKS Podsche sono in esecuzione su Fargate sono supportati solo su sottoreti private con accesso gateway NAT Servizi AWS, ma non tramite un percorso diretto verso un Internet Gateway. Ciò implica che il VPC del cluster debba avere a disposizione sottoreti private. È possibile creare un profilo con eksctl o la AWS Management Console.

Questa procedura richiede eksctl versione 0.175.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 Installation nella documentazione di eksctl.

eksctl
Creazione di 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. Aprire la console Amazon EKS all'indirizzo 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 ruoli IAM con il principale del servizio eks-fargate-pods.amazonaws.com. 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. Seleziona 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 la pagina Caratteri jolly del profilo Fargate.

    3. Seleziona Next (Successivo).

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

Eliminazione di un profilo Fargate

Questo argomento descrive come eliminare un profilo Fargate.

Quando elimini un profilo Fargate, tutti i Pods che sono stati programmati su Fargate con quel profilo vengono eliminati. Se questi Pods corrispondono a un altro profilo Fargate, vengono allora programmati su Fargate con quel profilo. Se non corrispondono più a nessun profilo Fargate, non saranno programmati su Fargate e potrebbero rimanere in sospeso.

Solo un profilo Fargate in un cluster alla volta può essere nello stato DELETING. Devi attendere il completamento dell'eliminazione di un profilo Fargate prima di poter eliminare altri profili nel cluster.

È possibile eliminare un profilo coneksctl, il AWS Management Console, o il AWS CLI. Seleziona la scheda con il nome dello strumento che desideri utilizzare per eliminare il profilo.

eksctl

Eliminazione di un profilo Fargate con eksctl

Utilizza il comando seguente per eliminare un profilo da un cluster. Sostituisci ogni example value con i valori in tuo possesso.

eksctl delete fargateprofile --name my-profile --cluster my-cluster
AWS Management Console
Per eliminare un profilo Fargate da un cluster con AWS Management Console
  1. Apri la console Amazon EKS all'indirizzo https://console.aws.amazon.com/eks/home#/clusters.

  2. Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli il cluster da cui desideri eliminare il profilo Fargate.

  3. Scegli la scheda Calcolo.

  4. Scegli il profilo Fargate da eliminare e quindi Elimina.

  5. Nella pagina Elimina profilo Fargate, digita il nome del profilo e scegli Elimina.

AWS CLI

Eliminazione di un profilo Fargate con AWS CLI

Utilizza il comando seguente per eliminare un profilo da un cluster. Sostituisci ogni example value con i valori in tuo possesso.

aws eks delete-fargate-profile --fargate-profile-name my-profile --cluster-name my-cluster