Guida introduttiva ad Amazon EKS: Console di gestione AWS e AWS CLI - Amazon EKS

Contribuisci a migliorare questa pagina

Per contribuire a questa guida per l’utente, seleziona il link Edit this page on GitHub che si trova nel riquadro destro di ogni pagina.

Guida introduttiva ad Amazon EKS: Console di gestione AWS e AWS CLI

Nota

Questo argomento illustra come iniziare senza EKS Auto Mode. Utilizza i Gruppi di nodi gestiti per distribuire i nodi.

EKS Auto Mode automatizza le attività di routine per il cluster computing, l’archiviazione e la rete. Learn how to get started with Amazon EKS Auto Mode. EKS Auto Mode è il metodo preferito per distribuire i nodi.

Questa guida consente di creare tutte le risorse necessarie per iniziare a utilizzare Amazon Elastic Kubernetes Service (Amazon EKS) utilizzando la Console di gestione AWS e la AWS CLI. Con questa guida è possibile creare manualmente ogni risorsa. Al termine di questo tutorial, sarà creato un cluster Amazon EKS in esecuzione a cui implementare 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 creare automaticamente la maggior parte delle risorse, utilizza la CLI eksctl per creare il cluster e i nodi. Per ulteriori informazioni, consulta Nozioni di base su Amazon EKS: eksctl.

Prerequisiti

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

  • AWS CLI: uno strumento a riga di comando per usare i servizi AWS, tra cui Amazon EKS. Per ulteriori informazioni, consulta Installazione nella Guida per l’utente dell’interfaccia a riga di comando AWS. Dopo aver installato AWS CLI, si consiglia di procedere anche con la configurazione. Per ulteriori informazioni, consulta Quick configuration with aws configure nella Guida per l’utente di AWS per l’interfaccia a guida di comando. Nota che la AWS CLI v2 è necessaria per utilizzare l’opzione update-kubeconfig mostrata in questa pagina.

  • kubectl – Uno strumento a riga di comando per lavorare con cluster Kubernetes. Per ulteriori informazioni, consulta Impostazione di kubectl e eksctl.

  • Autorizzazioni IAM richieste: il principale di sicurezza IAM che stai utilizzando deve disporre delle autorizzazioni per funzionare con i ruoli IAM di Amazon EKS e i ruoli collegati al servizio, AWS CloudFormation, di un VPC e delle risorse correlate. Per ulteriori informazioni, consulta le pagine Actions e Using service-linked roles nella Guida per l’utente IAM. È 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, consulta Using quotation marks with strings in the AWS CLI nella Guida per l’utente dell’interfaccia della riga di comando AWS.

Passaggio 1: Creazione del cluster Amazon EKS;

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 cluster Amazon EKS.. Alcune impostazioni possono essere abilitate solo quando crei cluster.

  1. Crea un Amazon VPC con sottoreti pubbliche e private che soddisfino i requisiti Amazon EKS. Sostituisci region-code con qualsiasi Regione AWS supportata da Amazon EKS. Per un elenco delle Regioni AWS supportate, consultare la pagina Amazon EKS endpoints and quotas nella AWS General Reference Guide. È possibile sostituire my-eks-vpc-stack con qualsiasi nome scelto.

    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, aprire la console CloudFormation AWS all’indirizzo https://console.aws.amazon.com/cloudformation/. Scegli la pila my-eks-vpc-stack, quindi la scheda Risorse.

  2. Crea un ruolo IAM del cluster e collegalo alla policy gestita IAM richiesta dall’AMI per Amazon EKS. I cluster Kubernetes gestiti da Amazon EKS effettuano chiamate ad altri servizi AWS per conto dell’utente per gestire le risorse utilizzate con il servizio.

    1. Copia 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 policy IAM gestita da Amazon EKS richiesta al ruolo.

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

    Assicurati che la Regione AWS visualizzata in alto a destra della console sia la Regione AWS in cui si desidera creare il cluster. In caso contrario, seleziona il menu a discesa accanto al nome della Regione AWS e seleziona la Regione AWS che desideri utilizzare.

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

  5. Nella pagina Configura cluster, completa le seguenti operazioni:

    1. Seleziona Configurazione personalizzata e disabilita Usa EKS Auto Mode (se preferisci un cluster EKS Auto Mode, consulta invece Crea un cluster di EKS Auto Mode con la Console di gestione AWS).

    2. Immetti 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ò avere una lunghezza superiore a 100 caratteri. Il nome deve essere univoco all’interno della Regione AWS e dell’account AWS in cui stai creando il cluster.

    3. Per Ruolo del servizio dei cluster, scegli myAmazonEKSClusterRole.

    4. Lascia le impostazioni rimanenti sui valori di default e seleziona Successivo.

  6. Nella pagina Specifica rete, procedi come segue:

    1. Scegli l’ID del VPC creato in un passaggio precedente nell’elenco a discesa VPC. Dovrebbe essere simile a * | my-eks-vpc-stack-VPC.

    2. Seleziona le sottoreti create in un passaggio precedente nell’elenco a discesa Sottoreti. Le sottoreti saranno simili a * | my-eks-vpc-stack-*.

    3. Seleziona il gruppo di sicurezza creato in un passaggio precedente nell’elenco a discesa Gruppi di sicurezza aggiuntivi. Dovrebbe essere simile a * | my-eks-vpc-stack-ControlPlaneSecurityGroup-*.

    4. Lascia le impostazioni rimanenti sui valori di default e seleziona 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 Componenti aggiuntivi Amazon EKS.

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

  10. Nella pagina Rivedi e crea, scegli 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 messaggio di errore indicante che una delle zone di disponibilità nella richiesta non dispone di capacità sufficiente per creare un cluster Amazon EKS. 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.

Passaggio 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 abilitano la CLI kubectl per comunicare con il cluster.

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

  1. Crea o aggiorna un file kubeconfig per il cluster. Sostituisci region-code con la Regione AWS in cui è stato creato il cluster. Sostituisci my-cluster con il nome del tuo 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

Passaggio 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 la maggior parte delle 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 Gestire le risorse di elaborazione utilizzando i nodi. Alcune impostazioni possono essere abilitate solo quando crei i nodi.

Questa procedura configura il cluster per utilizzare gruppi di nodi gestiti per creare nodi, specificando le sottoreti e il ruolo IAM del nodo creato nei passaggi precedenti. Consente di eseguire applicazioni Amazon Linux su istanze Amazon EC2.

Per ulteriori informazioni sui diversi modi di configurare i nodi in EKS, consulta Gestire le risorse di elaborazione utilizzando i nodi. Dopo aver implementato il cluster, puoi aggiungere altri tipi di nodo. Sebbene non sia trattato in questa guida, è anche possibile aggiungere nodi autogestiti di Windows e Bottlerocket al cluster.

Per creare un gruppo di nodi gestiti Linux di Amazon EC2

  1. Creare un ruolo IAM del nodo e allegarvi la policy gestita IAM di Amazon EKS richiesta. Il daemon kubelet del nodo Amazon EKS effettua chiamate alle API AWS per conto dell’utente. I nodi ricevono le autorizzazioni per queste chiamate API attraverso un profilo dell’istanza IAM e le policy associate.

    1. Copia i seguenti contenuti 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 ruolo IAM del nodo.

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

      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
    4. Apri la Console Amazon EKS su https://console.aws.amazon.com/eks/home#/clusters.

    5. Scegli il nome del cluster creato in Passaggio 1: Creazione del cluster Amazon EKS, ad esempio my-cluster.

    6. Sulla pagina my-cluster , completa le seguenti operazioni:

    7. Scegli la scheda Calcolo.

    8. Scegli Aggiungi gruppo di nodi.

  2. Nella pagina Configura gruppo di nodi, effettua 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 Nome ruolo IAM del nodo, scegli il ruolo myAmazonEKSNodeRole creato in un passaggio precedente. Consigliamo che ciascun gruppo di nodi utilizzi il proprio ruolo IAM univoco.

    3. Scegli Next (Successivo).

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

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

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

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

Passaggio 4: Visualizzazione delle risorse

È possibile visualizzare i nodi e i carichi di lavoro Kubernetes.

  1. Nel pannello di navigazione a sinistra, seleziona Cluster. Nell’elenco Clusters (Cluster), scegli il nome del cluster che hai creato, ad esempio my-cluster.

  2. Nella pagina my-cluster , scegli le opzioni seguenti:

    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: verranno visualizzate tutte le risorse Kubernetes che sono state implementate per impostazione predefinita in un cluster Amazon EKS. Seleziona qualsiasi tipo di risorsa nella console per avere ulteriori informazioni in merito.

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

  1. Eliminare qualsiasi gruppo di nodi o i profili creati.

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

    2. Nel pannello di navigazione a sinistra, seleziona Cluster. Nell’elenco di cluster, sceglie my-cluster.

    3. Scegli la scheda Calcolo.

    4. Se è stato creato un gruppo di nodi, scegli il gruppo di nodi my-nodegroup, quindi seleziona Elimina. Immetti my-nodegroup e scegli Elimina.

    5. Non continuare fino a quando il gruppo di nodi o i profili non saranno stati eliminati.

  2. Elimina il cluster.

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

    2. Scegli Delete cluster (Elimina cluster).

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

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

    1. Apri la console CloudFormation all’indirizzo https://console.aws.amazon.com/cloudformation/.

    2. Seleziona lo stack my-eks-vpc-stack e scegli Elimina ().

    3. Nella finestra di dialogo di conferma Elimina my-eks-vpc-stack, scegli Elimina stack.

  4. Elimina i ruoli IAM creati.

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

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

    3. Seleziona ogni ruolo creato dall’elenco ( myAmazonEKSClusterRole o myAmazonEKSNodeRole). 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.