Inizia a usare Amazon EKS AWS Management Console e AWS CLI - 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 usare Amazon EKS AWS Management Console e AWS CLI

Questa guida ti aiuta a creare tutte le risorse necessarie per iniziare a usare Amazon Elastic Kubernetes Service (EKSAmazon) utilizzando e il. AWS Management Console AWS CLI Con questa guida è possibile creare manualmente ogni risorsa. Alla fine di questo tutorial, avrai un EKS cluster Amazon in esecuzione su cui distribuire applicazioni.

Le procedure descritte in questa guida ti consentono di visualizzare in modo completo il modo in cui ogni risorsa viene creata e il modo in cui le risorse interagiscono tra loro. Se preferisci che la maggior parte delle risorse venga creata automaticamente, usa il eksctl CLI per creare cluster e nodi. Per ulteriori informazioni, consulta Inizia a usare Amazon EKS — eksctl.

Prerequisiti

Prima di iniziare questo tutorial, devi installare e configurare i seguenti strumenti e risorse necessari per creare e gestire un EKS cluster Amazon.

  • AWS CLI— Uno strumento da riga di comando per lavorare con AWS i servizi, incluso AmazonEKS. Per informazioni, consultare Installazione, aggiornamento e disinstallazione di AWS CLI nella Guida per l'utente di AWS Command Line Interface . Dopo aver installato AWS CLI, ti consigliamo di configurarlo anche. Per ulteriori informazioni, consultare Configurazione rapida con aws configure nella Guida per l'utente AWS Command Line Interface . Nota che la AWS CLI v2 è necessaria per utilizzare l'opzione update-kubeconfig mostrata in questa pagina.

  • kubectl— Uno strumento da riga di comando con cui lavorare Kubernetes i cluster. Per ulteriori informazioni, consulta Configurazione kubectl e eksctl.

  • IAMAutorizzazioni richieste: il responsabile della IAM sicurezza che stai utilizzando deve disporre delle autorizzazioni per lavorare con EKS IAM i ruoli Amazon, i ruoli collegati ai servizi AWS CloudFormation VPC, a e le risorse correlate. Per ulteriori informazioni, consulta Azioni, risorse e chiavi di condizione per Amazon Elastic Kubernetes Servizio e utilizzo dei ruoli collegati ai servizi nella Guida per l'IAMutente. È necessario che tutti i passaggi di questa guida siano completati dallo stesso utente. Esegui il comando seguente per controllare l’utente corrente:

    aws sts get-caller-identity
  • Ti consigliamo di completare la procedura descritta in questo argomento in una shell Bash. In alternativa, puoi apportare alcune modifiche alla tua shell per alcuni comandi di script, come i caratteri di continuazione della riga, e per il modo in cui le variabili vengono impostate e utilizzate. Inoltre, le regole di escape e di utilizzo delle virgolette per la shell (interprete di comandi) potrebbero essere diverse. Per ulteriori informazioni, vedere Uso delle virgolette con le stringhe nella Guida per l' AWS CLIutente. AWS Command Line Interface

Fase 1: Crea il tuo EKS cluster Amazon

Importante

Per iniziare nel modo più semplice e rapido possibile, in questo argomento sono inclusi i passaggi per creare un cluster con impostazioni predefinite. Prima di creare un cluster da utilizzare in produzione, è consigliabile acquisire familiarità con tutte le impostazioni e implementare un cluster con le impostazioni che soddisfano i tuoi requisiti. Per ulteriori informazioni, consulta Crea un EKS cluster Amazon. Alcune impostazioni possono essere abilitate solo quando crei cluster.

Per creare il cluster
  1. Crea un Amazon VPC con sottoreti pubbliche e private che soddisfi i requisiti di AmazonEKS. Regione AWS Sostituiscilo region-code con uno supportato da AmazonEKS. Per un elenco di Regioni AWS, consulta gli EKSendpoint e le quote di Amazon nella guida di riferimento AWS generale. Puoi sostituirlo my-eks-vpc-stack con qualsiasi nome tu scelga.

    aws cloudformation create-stack \ --region region-code \ --stack-name my-eks-vpc-stack \ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yaml
    Suggerimento

    Per un elenco di tutte le risorse create dal comando precedente, apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation. Scegli lo stack my-eks-vpc-stack, quindi la scheda Resources (Risorse).

  2. Crea un IAM ruolo del cluster e allega la policy EKS IAM gestita di Amazon richiesta. Kubernetes i cluster gestiti da Amazon EKS effettuano chiamate ad altri AWS servizi per tuo conto per gestire le risorse che utilizzi con il servizio.

    1. Copiare i seguenti contenuti in un file denominato eks-cluster-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Crea il ruolo.

      aws iam create-role \ --role-name myAmazonEKSClusterRole \ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json"
    3. Allega la IAM policy EKS gestita di Amazon richiesta al ruolo.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name myAmazonEKSClusterRole
  3. Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters.

    Assicurati che quello Regione AWS mostrato in alto a destra della console sia Regione AWS quello in cui desideri creare il cluster. In caso contrario, scegli il menu a discesa accanto al Regione AWS nome e scegli Regione AWS quello che desideri utilizzare.

  4. Scegli Add cluster (Aggiungi cluster), quindi scegli Create (Crea). Se non viene visualizzata questa opzione, scegli Clusters (Cluster) nel pannello di navigazione a sinistra.

  5. Nella pagina Configure cluster (Configura cluster), completare le seguenti operazioni:

    1. Immettere un nome per il cluster, ad esempio my-cluster. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può essere più lungo di 100 caratteri. Il nome deve essere univoco all'interno del Regione AWS e in Account AWS cui si sta creando il cluster.

    2. Per Cluster Service Role, scegli myAmazonEKSClusterRole.

    3. Lasciare le impostazioni rimanenti sui valori di default e selezionare Next (Successivo).

  6. Nella pagina Specify networking (Specifica rete), procedere come segue:

    1. Scegli l'ID VPC che hai creato in un passaggio precedente dall'elenco a VPCdiscesa. È qualcosa di simile vpc-00x0000x000x0x000 | my-eks-vpc-stack-VPC.

    2. Lasciare le impostazioni rimanenti sui valori di default e selezionare Next (Successivo).

  7. Nella pagina Configura osservabilità, scegli Avanti.

  8. Nella pagina Seleziona componenti aggiuntivi, scegli Successivo.

    Per ulteriori informazioni sui componenti aggiuntivi, consulta la pagina EKSComponenti aggiuntivi Amazon.

  9. Nella pagina Configura le impostazioni dei componenti aggiuntivi selezionati, scegli Successivo.

  10. Nella pagina Review and create (Rivedi e crea), scegliere Create (Crea).

    A destra del nome del cluster, lo stato del cluster è Creazione in corso per alcuni minuti fino al termine del processo di provisioning del cluster. Non proseguire con il passaggio successivo finché lo stato non è Attivo.

    Nota

    Potresti ricevere un errore che indica che una delle zone di disponibilità nella tua richiesta non ha una capacità sufficiente per creare un EKS cluster Amazon. In questo caso, l'output di errore contiene le zone di disponibilità in grado di supportare un nuovo cluster. Riprova a creare il cluster con almeno due sottoreti che si trovano nelle zone di disponibilità supportate per il tuo account. Per ulteriori informazioni, consulta Capacità insufficiente.

Fase 2: Configurazione del computer per comunicare con il cluster

In questa sezione, imparerai a creare un file kubeconfig per il cluster. Le impostazioni in questo file consentono kubectl CLI di comunicare con il cluster.

Prima di procedere, assicurati che la creazione del cluster sia stata completata correttamente nel Passaggio 1.

Configurazione del computer per comunicazione con il cluster
  1. Crea o aggiorna un file kubeconfig per il cluster. Sostituisci region-code con la Regione AWS in cui hai creato il cluster. Sostituisci my-cluster con il nome del cluster.

    aws eks update-kubeconfig --region region-code --name my-cluster

    Per impostazione predefinita, il file config viene creato in ~/.kube o la configurazione del nuovo cluster viene aggiunta a un file config esistente in ~/.kube.

  2. Prova la configurazione.

    kubectl get svc
    Nota

    Se ricevi qualsiasi altro errore di tipo di risorsa o autorizzazione, consulta la sezione Accesso negato o non autorizzato (kubectl) nell'argomento relativo alla risoluzione dei problemi.

    Di seguito viene riportato un output di esempio:

    NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP 1m

Fase 3: Creazione di nodi

Importante

Per iniziare nel modo più semplice e rapido possibile, in questo argomento sono inclusi i passaggi per creare nodi con impostazioni predefinite. Prima di creare i nodi da utilizzare in produzione, è consigliabile acquisire familiarità con tutte le impostazioni e implementare i nodi con le impostazioni che soddisfano i tuoi requisiti. Per ulteriori informazioni, consulta Gestisci le risorse di elaborazione utilizzando i nodi. Alcune impostazioni possono essere abilitate solo quando crei i nodi.

È possibile creare un cluster con uno dei seguenti tipi di nodo. Per ulteriori informazioni sui tipi di nodi, consultare Gestisci le risorse di elaborazione utilizzando i nodi. Dopo aver implementato il cluster, puoi aggiungere altri tipi di nodo.

  • Fargate — Linux— Scegli questo tipo di nodo se vuoi eseguirlo Linux applicazioni attive AWS Fargate. Fargate è un motore di elaborazione serverless che consente di implementare Kubernetes Pods senza gestire le EC2 istanze Amazon.

  • Nodi gestiti: LinuxScegli questo tipo di nodo se vuoi eseguire applicazioni Amazon Linux su EC2 istanze Amazon. Sebbene non sia trattato in questa guida, puoi anche aggiungere Windows autogestito e Bottlerocketnodi del tuo cluster.

Fargate – Linux

Creazione di un profilo Fargate. Quando Kubernetes Pods sono distribuiti con criteri che corrispondono ai criteri definiti nel profilo, Pods vengono schierati a Fargate.

Creazione di un profilo Fargate
  1. Crea un IAM ruolo e allega ad esso la policy EKS IAM gestita di Amazon richiesta. Quando il tuo cluster viene creato Pods sull'infrastruttura Fargate, i componenti in esecuzione sull'infrastruttura Fargate devono effettuare chiamate per AWS APIs conto dell'utente. In questo modo possono eseguire azioni come estrarre le immagini dei container da Amazon ECR o indirizzare i log ad altri AWS servizi. L'Amazzonia EKS Pod il ruolo di esecuzione fornisce le IAM autorizzazioni per eseguire questa operazione.

    1. Copia i contenuti seguenti in un file denominato pod-execution-role-trust-policy.json. region-codeSostituiscilo con Regione AWS quello in cui si trova il tuo cluster. Se desideri utilizzare lo stesso ruolo Regioni AWS in tutti gli ambienti del tuo account, sostituiscilo region-code con*. Sostituisci 111122223333 con il tuo ID account e my-cluster con il nome del cluster. Se vuoi usare lo stesso ruolo per tutti i cluster dell'account, sostituisci my-cluster con *.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Condition": { "ArnLike": { "aws:SourceArn": "arn:aws:eks:region-code:111122223333:fargateprofile/my-cluster/*" } }, "Principal": { "Service": "eks-fargate-pods.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Crea un Pod IAMruolo di esecuzione.

      aws iam create-role \ --role-name AmazonEKSFargatePodExecutionRole \ --assume-role-policy-document file://"pod-execution-role-trust-policy.json"
    3. Allega la IAM policy EKS gestita di Amazon richiesta al ruolo.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSFargatePodExecutionRolePolicy \ --role-name AmazonEKSFargatePodExecutionRole
  2. Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters.

  3. Nella pagina Clusters (Cluster), scegli il cluster my-cluster.

  4. Sul my-clusternella pagina, procedi come segue:

    1. Scegli la scheda Calcolo.

    2. In Fargate Profiles (Profili Fargate), scegli Add Fargate Profile (Aggiungi profilo Fargate).

  5. Nella pagina Configure Fargate Profile (Configura profilo Fargate), esegui le operazioni seguenti:

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

    2. Per il ruolo di esecuzione del Pod, scegli la A mazonEKSFargate PodExecutionRole che hai creato nel passaggio precedente.

    3. Seleziona l'elenco a discesa Subnets (Sottoreti) e deseleziona qualsiasi sottorete il cui nome contenga Public. Sono supportate solo le sottoreti private per Pods che girano su Fargate.

    4. Scegli Next (Successivo).

  6. Nella sezione Configure Pod nella pagina di selezione, effettuate le seguenti operazioni:

    1. Per Namespace (Spazio dei nomi), immettere default.

    2. Scegli Next (Successivo).

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

  8. Dopo alcuni minuti, lo Stato nella sezione Configurazione del profilo Fargate cambierà da In fase di creazione ad Attivo. Non proseguire con il passaggio successivo finché lo stato non è Attivo.

  9. Se prevedi di distribuirli tutti Pods su Fargate (nessuno EC2 sui nodi Amazon), effettuate le seguenti operazioni per creare un altro profilo Fargate ed eseguire il name resolver predefinito (CoreDNS) su Fargate.

    Nota

    Se non si effettua questa operazione, in questa fase non si avrà alcun nodo.

    1. Nella pagina del profilo di Fargate, scegliete my-profile.

    2. Nella sezione Profili Fargate, scegliere Aggiungi profilo Fargate.

    3. Per Nome, immetti CoreDNS.

    4. Per il ruolo di esecuzione di Pod, scegli la A mazonEKSFargate PodExecutionRole che hai creato nel passaggio precedente.

    5. Seleziona l'elenco a discesa Subnets (Sottoreti) e deseleziona qualsiasi sottorete il cui nome contenga Public. Sono supportate solo le sottoreti private per Pods in esecuzione su Fargate.

    6. Scegli Next (Successivo).

    7. Per Namespace (Spazio dei nomi), immettere kube-system.

    8. Scegliere Match labels (Abbina etichette), quindi Add label (Aggiungi etichetta).

    9. Immettere k8s-app per Key (Chiave) e kube-dns per il valore. Questo è necessario per il name resolver predefinito (CoreDNS) per schierarsi a Fargate.

    10. Scegli Next (Successivo).

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

    12. Eseguite il comando seguente per rimuovere l'eks.amazonaws.com/compute-type : ec2annotazione predefinita dal CoreDNS Pods.

      kubectl patch deployment coredns \ -n kube-system \ --type json \ -p='[{"op": "remove", "path": "/spec/template/metadata/annotations/eks.amazonaws.com~1compute-type"}]'
    Nota

    Il sistema crea e implementa due nodi in base all'etichetta del profilo Fargate aggiunta. In Node groups (Gruppi di nodi) non visualizzerai nulla perché non sono applicabili per nodi Fargate, ma vedrai i nuovi nodi elencati nella scheda Overview (Panoramica).

Managed nodes – Linux

Create un gruppo di nodi gestito, specificando le sottoreti e il IAM ruolo del nodo creati nei passaggi precedenti.

Per creare il tuo Amazon EC2 Linux gruppo di nodi gestiti
  1. Crea un IAM ruolo del nodo e allega la policy EKS IAM gestita di Amazon richiesta. Il kubelet daemon del EKS nodo Amazon effettua chiamate AWS APIs a tuo nome. I nodi ricevono le autorizzazioni per queste API chiamate tramite un profilo di IAM istanza e le politiche associate.

    1. Copia i contenuti seguenti in un file denominato node-role-trust-policy.json.

      { "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
    2. Crea il IAM ruolo del nodo.

      aws iam create-role \ --role-name myAmazonEKSNodeRole \ --assume-role-policy-document file://"node-role-trust-policy.json"
    3. Allega le IAM politiche gestite richieste al ruolo.

      aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSWorkerNodePolicy \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEC2ContainerRegistryReadOnly \ --role-name myAmazonEKSNodeRole aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKS_CNI_Policy \ --role-name myAmazonEKSNodeRole
  2. Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters.

  3. Scegli il nome del cluster in cui hai creato, ad esempio Fase 1: Crea il tuo EKS cluster Amazon my-cluster.

  4. Sul my-clusternella pagina, procedi come segue:

    1. Scegliere la scheda Compute (Calcolo).

    2. Scegliere Add Node Group (Aggiungi gruppo di nodi).

  5. Nella pagina Configure Node Group (Configura gruppo di nodi), effettuare le seguenti operazioni:

    1. Per Nome, immettere un nome univoco per il gruppo di nodi gestiti, ad esempio my-nodegroup. Il nome del gruppo di nodi non può contenere più di 63 caratteri. Deve iniziare con una lettera o un numero, ma può anche includere trattini e caratteri di sottolineatura.

    2. Per il nome del IAM ruolo Node, scegli myAmazonEKSNodeRole ruolo che hai creato in un passaggio precedente. È consigliabile che ogni gruppo di nodi utilizzi il proprio IAM ruolo univoco.

    3. Scegli Next (Successivo).

  6. Sulla pagina Set compute and scaling configuration (Impostazione della configurazione di calcolo e dimensionamento) accettare i valori di default e selezionare Next (Successivo).

  7. Nella pagina Specify networking (Specifica rete), accettare i valori di default e selezionare Next (Successivo).

  8. Nella pagina Rivedi e crea, controlla la configurazione del gruppo di nodi gestiti e scegli Crea.

  9. Dopo alcuni minuti, lo Stato nella Configurazione del gruppo di nodi cambierà da In fase di creazione a Attivo. Non proseguire con il passaggio successivo finché lo stato non è Attivo.

Fase 4: Visualizzazione delle risorse

Puoi visualizzare i tuoi nodi e Kubernetes carichi di lavoro.

Visualizzazione di nodi e carichi di lavoro
  1. Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli il nome del cluster che hai creato, ad esempio my-cluster.

  2. Sul my-clusterpagina, scegli quanto segue:

    1. Scheda Calcolo: verrà visualizzato l'elenco di nodi che sono stati implementati per il cluster. È possibile scegliere il nome di un nodo per visualizzare ulteriori informazioni su di esso.

    2. Scheda Risorse: vedi tutte le Kubernetes risorse distribuite per impostazione predefinita in un EKS cluster Amazon. Seleziona qualsiasi tipo di risorsa nella console per avere ulteriori informazioni in merito.

Fase 5. Eliminazione delle risorse

Dopo aver creato il cluster e i nodi per questo tutorial, devi eliminare le risorse create. Per eseguire altre operazioni con questo cluster prima di eliminare le risorse, consultare Passaggi successivi.

Eliminazione delle risorse create in questa guida
  1. Eliminare qualsiasi gruppo di nodi o i profili Fargate creati.

    1. Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters.

    2. Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli my-cluster.

    3. Scegli la scheda Calcolo.

    4. Se hai creato un gruppo di nodi, cegli il gruppo di nodi my-nodegroup quindi seleziona Delete (Elimina). Immettere my-nodegroup, quindi scegliere Delete (Elimina).

    5. Per ogni profilo Fargate creato, selezionarlo e poi scegliere Delete (Elimina). Immettere il nome del profilo, quindi selezionare Delete (Elimina).

      Nota

      Quando si elimina un secondo profilo Fargate, potrebbe essere necessario attendere il completamento dell'eliminazione del primo.

    6. Non continuare fino a quando il gruppo di nodi o i profili Fargate eliminati.

  2. Elimina il cluster.

    1. Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli my-cluster.

    2. Scegli Delete cluster (Elimina cluster).

    3. Immetti my-cluster, quindi scegli Elimina. Non continuare fino a quando il cluster non sarà stato eliminato.

  3. Elimina lo VPC AWS CloudFormation stack che hai creato.

    1. Apri la AWS CloudFormation console in https://console.aws.amazon.com/cloudformazione.

    2. Scegli lo stack my-eks-vpc-stack, quindi seleziona Delete (Elimina).

    3. Nella casella Elimina my-eks-vpc-stacknella finestra di dialogo di conferma, scegli Elimina pila.

  4. Elimina i IAM ruoli che hai creato.

    1. Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/.

    2. Nel pannello di navigazione a sinistra, seleziona Ruoli.

    3. Seleziona ogni ruolo che hai creato dall'elenco (myAmazonEKSClusterRole, oltre a A mazonEKSFargate PodExecutionRole omyAmazonEKSNodeRole). Scegli Elimina, inserisci il testo di conferma richiesto, quindi scegli Elimina.

Passaggi successivi

I seguenti argomenti della documentazione consentono di estendere la funzionalità del cluster.