Inizia a lavorare AWS Fargate per il tuo cluster - 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à.

Inizia a lavorare AWS Fargate per il tuo cluster

Importante

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

Questo argomento descrive come iniziare a utilizzare Pods AWS Fargate il tuo EKS cluster Amazon.

Se limiti l'accesso all'endpoint pubblico del cluster utilizzando i CIDR blocchi, ti consigliamo di abilitare anche l'accesso privato agli endpoint. In questo modo Fargate Pods può comunicare con il cluster. Senza l'endpoint privato abilitato, i CIDR blocchi specificati per l'accesso pubblico devono includere le fonti in uscita dal tuo. VPC Per ulteriori informazioni, consulta Controlla l'accesso alla rete all'endpoint API del server del cluster.

Prerequisito

Un cluster esistente. Se non disponi già di un EKS cluster Amazon, consultaInizia a usare Amazon EKS.

Fase 1: Assicurarsi che i nodi esistenti possano comunicare con Fargate Pods

Se utilizzi un nuovo cluster senza nodi di lavoro o un cluster con solo gruppi di nodi gestiti, puoi passare a Fase 2: Creare un ruolo di esecuzione Fargate Pod.

Poniamo che tu stia lavorando con un cluster esistente che dispone già di nodi associati. Assicurati che Pods su questi nodi possa comunicare liberamente con il Pods in esecuzione su Fargate. I Pods che sono in esecuzione su Fargate vengono configurati automaticamente per utilizzare il gruppo di sicurezza del cluster a cui sono associati. Devi verificare che tutti i nodi esistenti nel cluster possano inviare e ricevere traffico da e verso il gruppo di sicurezza del cluster. I Semplifica il ciclo di vita dei nodi con gruppi di nodi gestiti vengono configurati in automatico per utilizzare anche il gruppo di sicurezza del cluster, pertanto non è necessario modificarli o verificarli per garantire tale compatibilità.

Per i gruppi di nodi esistenti creati con eksctl o i AWS CloudFormation modelli EKS gestiti da Amazon, 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 AWS Management Console tuo cluster nella sezione Rete relativa al cluster. In alternativa, puoi farlo usando il seguente AWS CLI comando. 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 Fargate Pod

Quando il cluster si Pods attiva AWS Fargate, i componenti in esecuzione sull'infrastruttura Fargate devono effettuare chiamate per AWS APIs conto dell'utente. Il ruolo di EKS Pod esecuzione di Amazon fornisce le IAM autorizzazioni per eseguire questa operazione. Per creare un ruolo di AWS Fargate Pod esecuzione, consultaRuolo IAM per l'esecuzione del Pod Amazon EKS.

Nota

Se hai creato il cluster eksctl utilizzando l'--fargateopzione, il cluster dispone già di un ruolo di Pod esecuzione che puoi trovare nella IAM console con lo schemaeksctl-my-cluster-FargatePodExecutionRole-ABCDEFGHIJKL. Allo stesso modo, se utilizzi eksctl per creare i profili Fargate, eksctl creerà il ruolo di esecuzione del Pod (se non ne esiste già uno).

Fase 3: Crea un profilo Fargate per il tuo cluster

Prima di poter pianificare i Pods in esecuzione su Fargate nel cluster, dovrai definire un profilo Fargate che specifichi i Pods che utilizzano Fargate al momento dell'avvio. Per ulteriori informazioni, consulta Definisci quale Pods utilizzo al AWS Fargate momento del lancio.

Nota

Se hai creato il cluster con eksctl utilizzando l'opzione --fargate, allora un profilo Fargate è già stato creato per il cluster con selettori per tutti i Pods pod negli spazi dei nomi kube-system e 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 eksctl o la AWS Management Console.

eksctl

Questa procedura richiede eksctl versione 0.189.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.

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. 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 Configura il profilo Fargate, procedi come segue:

    1. In Nome, inserisci un nome per il profilo Fargate. Il nome deve essere univoco.

    2. Per Ruolo di esecuzione 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 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, aggiungile al selettore a 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.

Fase 4: Aggiornamento CoreDNS

Per impostazione predefinita, CoreDNS è configurato per l'esecuzione sull'EC2infrastruttura Amazon su EKS cluster Amazon. Se desideri eseguire i Pods solo su Fargate nel cluster, completa la procedura riportata di seguito.

Nota

Se hai creato il cluster eksctl utilizzando l'opzione --fargate, puoi passare a Passaggi successivi.

  1. Crea un profilo Fargate per CoreDNS con il seguente comando. my-clusterSostituiscilo 111122223333 con il nome del cluster, AmazonEKSFargatePodExecutionRole con l'ID dell'account, con il nome del tuo ruolo IDs di Pod esecuzione e 0000000000000003 con le sottoreti private. 0000000000000001 0000000000000002 Se non disponi di un ruolo di esecuzione del Pod, è necessario prima crearne uno.

    Importante

    Il ruolo non ARN può includere un percorso diverso da. / Ad esempio, se il nome del tuo ruolo èdevelopment/apps/my-role, devi cambiarlo in my-role quando specifichi ARN il ruolo. Il formato del ruolo ARN 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
  2. Utilizza il comando seguente per rimuovere l'annotazione eks.amazonaws.com/compute-type : ec2 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