Amazon EKS Guida per l'utente - Amazon.com

Pagina creata da Roberto Pavan
 
CONTINUA A LEGGERE
Amazon EKS Guida per l'utente - Amazon.com
Amazon EKS
Guida per l'utente
Amazon EKS Guida per l'utente - Amazon.com
Amazon EKS Guida per l'utente

Amazon EKS: Guida per l'utente
Copyright © 2018 Amazon Web Services, Inc. and/or its affiliates. All rights reserved.
Amazon's trademarks and trade dress may not be used in connection with any product or service that is not Amazon's, in any manner
that is likely to cause confusion among customers, or in any manner that disparages or discredits Amazon. All other trademarks not
owned by Amazon are the property of their respective owners, who may or may not be affiliated with, connected to, or sponsored by
Amazon.
Amazon EKS Guida per l'utente

Table of Contents
  Che cos'è Amazon EKS? .................................................................................................................... 1
         Come funziona Amazon EKS? ..................................................................................................... 2
  Nozioni di base .................................................................................................................................. 3
         Prerequisiti di Amazon EKS ......................................................................................................... 3
                 Creare il ruolo del servizio Amazon EKS ................................................................................ 3
                 Creare il VPC cluster Amazon EKS ....................................................................................... 3
                 Installare e configurare kubectl per Amazon EKS .................................................................... 4
                 (Facoltativo) Scaricare e installare AWS CLI più recente ........................................................... 7
         Fase 1: crea il tuo cluster Amazon EKS ......................................................................................... 8
         Fase 2: configura kubectl per Amazon EKS ............................................................................... 10
         Fase 3: avvia e configura i nodi di lavoro Amazon EKS .................................................................. 12
         Fase 4: avvia un'applicazione Registro visitatori ............................................................................ 15
         Fase 5: pulizia degli oggetti del Registro visitatori .......................................................................... 17
  Cluster ............................................................................................................................................ 18
         Creazione di un cluster .............................................................................................................. 18
         Eliminazione di un cluster .......................................................................................................... 21
  Nodi di lavoro ................................................................................................................................... 23
         AMI ottimizzata per Amazon EKS ................................................................................................ 23
                 Script della build AMI ottimizzata per Amazon EKS ................................................................ 24
         Avvio dei nodi di lavoro Amazon EKS .......................................................................................... 24
  Classi di storage ............................................................................................................................... 28
  Reti ................................................................................................................................................. 30
         Considerazioni relative a VPC cluster .......................................................................................... 30
                 Requisito di tagging del VPC .............................................................................................. 30
                 Requisito di tagging della sottorete ...................................................................................... 31
         Considerazioni relative al gruppo di sicurezza del cluster ................................................................ 31
         Reti Pod .................................................................................................................................. 32
         Aggiornamenti della CNI ............................................................................................................ 34
         Installazione di Calico su Amazon EKS ........................................................................................ 35
                 Demo policy Stars ............................................................................................................. 35
  Gestione dell'autenticazione cluster ..................................................................................................... 40
         Configurare kubectl per Amazon EKS .......................................................................................... 40
         Creare una kubeconfig per Amazon EKS .................................................................................. 44
         Gestione di utenti o ruoli IAM per il cluster ................................................................................... 46
  Service Limits ................................................................................................................................... 50
  Policy, ruoli e autorizzazioni IAM ......................................................................................................... 51
         Struttura delle policy .................................................................................................................. 51
                 Sintassi delle policy ........................................................................................................... 51
                 Operazioni per Amazon EKS .............................................................................................. 52
                 Verifica delle autorizzazioni ................................................................................................ 52
         Creazione di policy IAM ............................................................................................................. 53
         Ruolo IAM del servizio Amazon EKS ........................................................................................... 54
  Tutorial: distribuire il pannello di controllo Kubernetes ............................................................................. 57
         Prerequisiti ............................................................................................................................... 58
         Fase 1: Distribuzione del pannello di controllo ............................................................................... 59
         Fase 2: crea un account di servizio eks-admin e un associazione ruolo del cluster ............................ 60
         Fase 3: connessione al pannello di controllo ................................................................................. 61
         Fase 4: fasi successive ............................................................................................................. 62
  Tutorial: Creazione di un VPC per Amazon EKS .................................................................................... 63
         Fase 1: crea un indirizzo IP elastico per il gateway NAT ................................................................. 63
         Fase 2: esegui la procedura guidata del VPC ............................................................................... 63
         Fase 3: crea sottoreti aggiuntive ................................................................................................. 64
         Fase 4: crea un gruppo di sicurezza del piano di controllo ............................................................... 65
         Fasi successive ........................................................................................................................ 65

                                                                          iii
Amazon EKS Guida per l'utente

CloudTrail ........................................................................................................................................   66
      Informazioni su Amazon EKS in CloudTrail ...................................................................................                    66
      Informazioni sulle voci dei file di log di Amazon EKS ......................................................................                    67
Risoluzione dei problemi ....................................................................................................................         69
      Capacità insufficiente .................................................................................................................        69
      aws-iam-authenticator Non trovato ......................................................................................                        69
      Impossibile aggiungere i nodi di lavoro al cluster ...........................................................................                  69
      hostname doesn't match ....................................................................................................                     69
Cronologia dei documenti ...................................................................................................................          70
AWS Glossary ..................................................................................................................................       71

                                                                       iv
Amazon EKS Guida per l'utente

Che cos'è Amazon EKS?
   Amazon Elastic Container Service for Kubernetes (Amazon EKS) è un servizio gestito che consente di
   eseguire facilmente Kubernetes su AWS senza la necessità di sostenere o mantenere un piano di controllo
   Kubernetes. Kubernetes è un sistema open-source per automatizzare la distribuzione, il dimensionamento
   e la gestione di applicazioni containerizzate.

   Amazon EKS esegue istanze del piano di controllo Kubernetes in molteplici zone di disponibilità per
   garantire un'elevata disponibilità. Amazon EKS rileva e sostituisce automaticamente le istanze del piano di
   controllo non integre e fornisce loro gli aggiornamenti automatici delle versioni e le patch.

   Inoltre, Amazon EKS è integrato con molti servizi AWS per offrire scalabilità e sicurezza alle tue
   applicazioni, compresi i seguenti:

   • Elastic Load Balancing per la distribuzione del carico
   • IAM per l'autenticazione
   • Amazon VPC per l'isolamento

   Amazon EKS esegue versioni aggiornate del software open-source Kubernetes, in modo che sia possibile
   usare tutti i plugin e gli strumenti della community Kubernetes. Le applicazioni in esecuzione su Amazon
   EKS sono completamente compatibili con quelle in esecuzione in qualsiasi ambiente Kubernetes standard,
   sia in data center locali sia in cloud pubblici. Ciò significa che è possibile migrare facilmente qualsiasi
   applicazione Kubernetes standard in Amazon EKS senza alcuna modifica al codice.

                                                   1
Amazon EKS Guida per l'utente
                                     Come funziona Amazon EKS?

Come funziona Amazon EKS?

    Iniziare con Amazon EKS è facile:

    1. Crea prima un cluster Amazon EKS nella Console di gestione AWS o con la AWS CLI o uno dei kit SDK
       AWS.
    2. Quindi, avvia i nodi di lavoro che si registrano con il cluster Amazon EKS. Ti forniamo un modello AWS
       CloudFormation per configurare automaticamente i nodi.
    3. Quando il cluster è pronto, puoi configurare i tuoi strumenti Kubernetes preferiti (come kubectl) per
       comunicare con il cluster.
    4. Distribuisci e gestisci le applicazioni sul cluster Amazon EKS esattamente come in qualsiasi altro
       ambiente Kubernetes.

    Per ulteriori informazioni sulla creazione delle risorse necessarie e del tuo primo cluster Amazon EKS,
    consulta Nozioni di base su Amazon EKS (p. 3).

                                                    2
Amazon EKS Guida per l'utente
                                       Prerequisiti di Amazon EKS

Nozioni di base su Amazon EKS
    Questa guida alle operazioni di base ti consente di creare tutte le risorse necessarie per iniziare a utilizzare
    Amazon EKS.

Prerequisiti di Amazon EKS
    Prima di poter creare un cluster Amazon EKS, devi creare un ruolo IAM che Kubernetes può assumere per
    creare risorse AWS. Ad esempio, quando viene creato un sistema di bilanciamento del carico, Kubernetes
    assume il ruolo per creare un sistema di bilanciamento del carico Elastic Load Balancing nel tuo account.
    Questa operazione è richiesta una sola volta e può essere utilizzata per più cluster EKS.

    Inoltre, devi creare un VPC e un gruppo di sicurezza per il cluster da utilizzare. Anche se il VPC e i gruppi
    di sicurezza possono essere utilizzati per più cluster EKS, ti consigliamo di utilizzare un VPC separato per
    ogni cluster EKS per fornire un migliore isolamento della rete.

    In questa sezione viene anche descritto come installare il file binario kubectl e configurarlo per l'utilizzo con
    Amazon EKS.

    Creare il ruolo del servizio Amazon EKS
    Per creare il ruolo del servizio Amazon EKS

    1.   Apri la console IAM all'indirizzo https://console.aws.amazon.com/iam/.
    2.   Scegli Roles (Ruoli), quindi Create role (Crea ruolo).
    3.   Scegli EKS dall'elenco dei servizi, quindi Allows Amazon EKS to manage your clusters on your
         behalf (Permetti a Amazon EKS di gestire i tuoi cluster a tuo nome) per il caso d'uso, quindi Next:
         Permissions (Successivo: Autorizzazioni).
    4.   Scegli Next:Review (Successivo:Rivedi).
    5.   Per Role name (Nome ruolo), immetti un nome univoco per il ruolo, ad esempio eksServiceRole,
         quindi scegli Create role (Crea ruolo).

    Creare il VPC cluster Amazon EKS
    Per creare il VPC cluster

    1.   Apri la console AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation.
    2.   Dalla barra di navigazione, seleziona una regione che supporta Amazon EKS.
             Note

             Amazon EKS è al momento disponibile nelle seguenti regioni:

             • Stati Uniti occidentali (Oregon) (us-west-2)
             • Stati Uniti orientali (Virginia settentrionale) (us-east-1)
    3.   Scegli Create stack (Crea stack).
    4.   Per Choose a template (Scegli un modello), seleziona Specify an Amazon S3 template URL (Specifica
         un URL modello di &S3).

                                                      3
Amazon EKS Guida per l'utente
                         Installare e configurare kubectl per Amazon EKS

5.   Incolla il seguente URL nell'area di testo e scegli Next (Successivo):

     https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/amazon-eks-vpc-
     sample.yaml

6.   Nella pagina Specify Details (Specifica dettagli), compila i parametri di conseguenza, quindi scegli Next
     (Successivo).

     • Stack name (Nome stack): scegli il nome per lo stack AWS CloudFormation. Ad esempio, puoi
       chiamarlo eks-vpc.
     • VpcBlock: scegli un intervallo CIDR per il VPC. Puoi lasciare il valore predefinito.
     • Subnet01Block: scegli un intervallo CIDR per la sottorete 1. Puoi lasciare il valore predefinito.
     • Subnet02Block: scegli un intervallo CIDR per la sottorete 2. Puoi lasciare il valore predefinito.
     • Subnet03Block: scegli un intervallo CIDR per la sottorete 3. Puoi lasciare il valore predefinito.
7.   (Facoltativo) Nella pagina Options (Opzioni), contrassegna con dei tag le risorse dello stack. Seleziona
     Successivo.
8.   Nella pagina Review (Verifica) scegli Create (Crea utente).
9.   Quando viene creato lo stack, selezionalo nella console e scegli Outputs (Uscite).
10. Registra il valore SecurityGroups per il gruppo di sicurezza che è stato creato. Questo è necessario
    quando crei il cluster EKS; questo gruppo di sicurezza viene applicato alle interfacce di rete elastiche
    tra account che vengono create nelle sottoreti che consentono la comunicazione tra il piano di controllo
    Amazon EKS e i nodi di lavoro.
11. Registra il VpcId per le sottoreti che sono state create. Questo è necessario quando avvii il modello di
    gruppo del nodo di lavoro.
12. Registra il SubnetIds per le sottoreti che sono state create. Questo è necessario quando crei il cluster
    EKS; si tratta delle sottoreti in cui vengono avviati i nodi di lavoro.

Installare e configurare kubectl per Amazon EKS
I cluster Amazon EKS richiedono i file binari kubectl e kubelet e l'autenticatore IAM AWS per Kubernetes
per consentire l'autenticazione IAM per il cluster Kubernetes. A partire da Kubernetes versione 1.10,
puoi configurare il client kubectl del magazzino per l'utilizzo con Amazon EKS installando l'autenticatore
IAM AWS per Kubernetes e modificando il file di configurazione kubectl in modo da utilizzarlo per
l'autenticazione.

Se non disponi già di un client kubectl versione 1.10 nel sistema, puoi utilizzare le fasi sottostanti per
installare uno. Puoi anche fare riferimento alla documentazione Kubernetes per installare kubectl.

Per installare kubectl per Amazon EKS

1.   Scarica e installa kubectl per il tuo sistema operativo. Amazon EKS fornisce file binari kubectl
     utilizzabili; puoi anche seguire le istruzioni di installazione nella documentazione di Kubernetes.
     •   Per installare la versione di kubectl venduta da Amazon EKS:

         a.   Scarica da Amazon S3: il file binario kubectl venduto da Amazon EKS:

              • Linux: https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/
                amd64/kubectl
              • MacOS: https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/
                amd64/kubectl

              • Windows: https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/
                windows/amd64/kubectl.exe

                                                 4
Amazon EKS Guida per l'utente
                            Installare e configurare kubectl per Amazon EKS

              Utilizza il comando seguente per scaricare il file binario, sostituendo l'URL corretto per la tua
              piattaforma. L'esempio che segue vale per i client macOS.

              curl -o kubectl https://amazon-eks.s3-us-
              west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/amd64/kubectl

         b.   (Facoltativo) Verifica il file binario scaricato con il checksum SHA-256 fornito nello stesso
              prefisso del bucket, sostituendo l'URL corretto per la tua piattaforma.

              i.      Scarica il checksum SHA-256 per il tuo sistema. L'esempio seguente è per scaricare il
                      checksum SHA-256 per i client macOS.

                      curl -o kubectl.sha256 https://amazon-eks.s3-us-
                      west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/amd64/kubectl.sha256

              ii.     Controlla il checksum SHA-256 per il file binario scaricato. L'esempio di comando
                      openssl seguente è stato testato per client macOS e Ubuntu. Il sistema operativo
                      potrebbe utilizzare un comando o una sintassi diversa per controllare i checksum
                      SHA-256. Se necessario, consulta la documentazione del sistema operativo.

                      openssl sha -sha256 kubectl

              iii.    Confronta il checksum SHA-256 generato nell'output del comando con il file
                      kubectl.sha256 scaricato. I due valori devono corrispondere.
         c.   Applica le autorizzazioni di esecuzione al file binario.

              chmod +x ./kubectl

         d.   Copia il file binario in una cartella in $PATH. Se hai già una versione installata di kubectl
              (da Homebrew o Apt), ti consigliamo di creare un $HOME/bin/kubectl e di verificare che
              $HOME/bin venga per primo in $PATH.

              cp ./kubectl $HOME/bin/kubectl && export PATH=$HOME/bin:$PATH

         e.   (Facoltativo) Aggiungi il percorso $HOME/bin al file di inizializzazione della shell, in modo che
              sia configurato quando si apre una shell.

              • Per le shell Bash su macOS:

                     echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile

              • Per le shell Bash su Linux:

                     echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc

     •   Oppure, per installare kubectl utilizzando la documentazione di Kubernetes, consulta Installazione
         e configurazione di kubectl nella documentazione di Kubernetes.
2.   Dopo aver installato kubectl, puoi verificarne la versione con il comando seguente:

     kubectl version --short --client

     Output di esempio:

     Client Version: v1.10.3

                                                  5
Amazon EKS Guida per l'utente
                         Installare e configurare kubectl per Amazon EKS

Per installare aws-iam-authenticator per Amazon EKS

•   Scarica e installa il file binario aws-iam-authenticator.

    Amazon EKS vende i file binari aws-iam-authenticator che puoi utilizzare, oppure puoi utilizzare
    go get per recuperare il file binario dal progetto Autenticatore IAM AWS per Kubernetes su GitHub per
    altri sistemi operativi.
    •   Per scaricare e installare il file binario aws-iam-authenticator venduto da Amazon EKS:

        a.   Scarica il file binario aws-iam-authenticator venduto da Amazon EKS da Amazon S3:

             • Linux: https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/linux/
               amd64/aws-iam-authenticator
             • MacOS: https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/
               amd64/aws-iam-authenticator

             • Windows: https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/bin/
               windows/amd64/aws-iam-authenticator.exe

             Utilizza il comando seguente per scaricare il file binario, sostituendo l'URL corretto per la tua
             piattaforma. L'esempio che segue vale per i client macOS.

             curl -o aws-iam-authenticator https://amazon-eks.s3-us-
             west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/amd64/aws-iam-authenticator

        b.   (Facoltativo) Verifica il file binario scaricato con il checksum SHA-256 fornito nello stesso
             prefisso del bucket, sostituendo l'URL corretto per la tua piattaforma.

             i.     Scarica il checksum SHA-256 per il tuo sistema. L'esempio seguente è per scaricare il
                    checksum SHA-256 per i client macOS.

                    curl -o aws-iam-authenticator.sha256 https://amazon-eks.s3-us-
                    west-2.amazonaws.com/1.10.3/2018-07-26/bin/darwin/amd64/aws-iam-
                    authenticator.sha256

             ii.    Controlla il checksum SHA-256 per il file binario scaricato. L'esempio di comando
                    openssl seguente è stato testato per client macOS e Ubuntu. Il sistema operativo
                    potrebbe utilizzare un comando o una sintassi diversa per controllare i checksum
                    SHA-256. Se necessario, consulta la documentazione del sistema operativo.

                    openssl sha -sha256 aws-iam-authenticator

             iii.   Confronta il checksum SHA-256 generato nell'output del comando con il file aws-iam-
                    authenticator.sha256 scaricato. I due valori devono corrispondere.
        c.   Applica le autorizzazioni di esecuzione al file binario.

             chmod +x ./aws-iam-authenticator

        d.   Copia il file binario in una cartella in $PATH. Ti consigliamo di creare un $HOME/bin/aws-
             iam-authenticator e assicurarti che $HOME/bin venga per primo in $PATH.

             cp ./aws-iam-authenticator $HOME/bin/aws-iam-authenticator && export PATH=
             $HOME/bin:$PATH

        e.   Aggiungi $HOME/bin alla variabile di ambiente PATH.

                                                6
Amazon EKS Guida per l'utente
                    (Facoltativo) Scaricare e installare AWS CLI più recente

             • Per le shell Bash su macOS:

               echo 'export PATH=$HOME/bin:$PATH' >> ~/.bash_profile

             • Per le shell Bash su Linux:

               echo 'export PATH=$HOME/bin:$PATH' >> ~/.bashrc

        f.   Verifica il funzionamento del file binario aws-iam-authenticator.

             aws-iam-authenticator help

    •   Oppure, per installare il file binario aws-iam-authenticator da GitHub utilizzando go get:

        a.   Installa il linguaggio di programmazione Go per il sistema operativo in uso se go non è già
             installato. Per ulteriori informazioni, consulta Install the Go tools nella documentazione Go.
        b.   Utilizza go get per installare il file binario aws-iam-authenticator.

             go get -u -v github.com/kubernetes-sigs/aws-iam-authenticator/cmd/aws-iam-
             authenticator

                 Note

                 Se ricevi il seguente messaggio di errore, devi aggiornare il linguaggio Go alla
                 versione 1.7 o successiva. Per ulteriori informazioni, consulta Install the Go tools
                 nella documentazione Go.

                 package context: unrecognized import path "context" (import path does
                  not begin with hostname)

        c.   Aggiungi $HOME/go/bin alla variabile di ambiente PATH.

             • Per le shell Bash su macOS:

               export PATH=$HOME/go/bin:$PATH && echo 'export PATH=$HOME/go/bin:$PATH' >>
                ~/.bash_profile

             • Per le shell Bash su Linux:

               export PATH=$HOME/go/bin:$PATH && echo 'export PATH=$HOME/go/bin:$PATH' >>
                ~/.bashrc

        d.   Verifica il funzionamento del file binario aws-iam-authenticator.

             aws-iam-authenticator help

(Facoltativo) Scaricare e installare AWS CLI più
recente
Amazon EKS richiede almeno la versione 1.15.32 di AWS CLI. Per installare o aggiornare AWS CLI,
consulta Installazione dell'interfaccia a riga di comando AWS nella Guida per l'utente di AWS Command
Line Interface.

                                                7
Amazon EKS Guida per l'utente
                                  Fase 1: crea il tuo cluster Amazon EKS

         Note

         La versione Python del sistema deve essere Python 3 o Python 2.7.9 o superiore. In caso
         contrario, riceverai errori hostname doesn't match con chiamate AWS CLI a Amazon EKS.
         Per ulteriori informazioni, consulta Cosa sono gli errori "hostname doesn't match"? nelle domande
         frequenti di Python Requests.

Fase 1: crea il tuo cluster Amazon EKS
    Ora puoi creare il tuo cluster Amazon EKS.
         Important

         Quando viene creato un cluster Amazon EKS l'entità IAM, (utente o ruolo) che crea il cluster viene
         aggiunto alla tabella di autorizzazioni RBAC Kubernetes come amministratore. Inizialmente, solo
         tale utente IAM può effettuare chiamate al server API Kubernetes utilizzando kubectl. Inoltre,
         l'autenticatore IAM AWS per Kubernetes utilizza SDK AWS per Go per eseguire l'autenticazione
         rispetto al cluster Amazon EKS. Se si utilizza la console per creare il cluster, è necessario
         assicurarsi che le stesse credenziali utente IAM siano presenti nella catena di credenziali SDK
         AWS quando si eseguono i comandi kubectl sul cluster.
         Se si installa e si configura AWS CLI, è possibile configurare le credenziali IAM, per l'utente.
         Queste possono anche essere utilizzate per l'autenticatore IAM AWS per Kubernetes. Se la AWS
         CLI è configurata correttamente per l'utente, allora anche l'autenticatore IAM AWS per Kubernetes
         può trovare tali credenziali. Per ulteriori informazioni, consulta Configurazione di AWS CLI nella
         Guida per l'utente di AWS Command Line Interface.

    Per creare il cluster con la console

    1.   Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.
    2.   Seleziona Create cluster (Crea cluster).
             Note

             Se l'utente IAM non dispone di privilegi di amministrazione, devi aggiungere esplicitamente
             le autorizzazioni dell'utente per chiamare le operazioni dell'API Amazon EKS. Per ulteriori
             informazioni, consulta Creazione di policy IAM di Amazon EKS (p. 53).
    3.   Nella pagina Create cluster (Crea cluster), compila i campi seguenti, quindi scegli Create (Crea):

         • Cluster name (Nome del cluster): un nome univoco per il cluster.
         • Kubernetes version (Versione Kubernetes): la versione di Kubernetes da utilizzare per il cluster. Per
           impostazione predefinita, viene selezionata l'ultima versione disponibile.
         • Role ARN (ARN ruolo): seleziona il ruolo IAM che hai creato con Creare il ruolo del servizio Amazon
           EKS (p. 3).
         • VPC: il VPC che hai creato con Creare il VPC cluster Amazon EKS (p. 3). Puoi trovare il nome
           del VPC nell'elenco a discesa.
         • Subnets (Sottoreti): i valori SubnetIds (separati da virgola) dell'uscita AWS CloudFormation generata
           con Creare il VPC cluster Amazon EKS (p. 3). Per impostazione predefinita, le sottoreti
           disponibili nel VPC precedente sono preselezionate.
         • Security Groups (Gruppi di sicurezza): il valore SecurityGroups dell'uscita AWS CloudFormation
           generata con Creare il VPC cluster Amazon EKS (p. 3). Questo gruppo di sicurezza contiene
           ControlPlaneSecurityGroup nel nome a discesa.
                Important

                Il modello AWS CloudFormation del nodo lavoratore modifica il gruppo di sicurezza ivi
                specificato, per cui consigliamo di utilizzare un gruppo di sicurezza dedicato per il piano di

                                                     8
Amazon EKS Guida per l'utente
                             Fase 1: crea il tuo cluster Amazon EKS

           controllo del cluster. Se condiviso con altre risorse, è possibile bloccare o interrompere le
           connessioni a queste risorse.

         Note

         È possibile ricevere un errore che indica 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. È necessario
         riprovare a creare il cluster con almeno due sottoreti che si trovano nelle zone di disponibilità
         supportate per l'account.
4.   Nella pagina Clusters (Cluster), scegliere il nome del nuovo cluster creato per visualizzare le
     informazioni sul cluster.
5.   Il campo Status (Stato) mostra CREATING (CREAZIONE) fino al termine del processo di provisioning.
     Attendere il termine del provisioning del cluster (in genere meno di 10 minuti) e prendere nota dei valori
     API server endpoint (Endpoint server API) e Certificate authority (Autorità di certificazione). Verranno
     utilizzati nella configurazione kubectl.

Per creare il tuo cluster con la AWS CLI

1.   Crea un cluster con il seguente comando. Sostituisci il nome del cluster, l'Amazon Resource
     Name (ARN) del ruolo del servizio Amazon EKS creato in Creare il ruolo del servizio Amazon
     EKS (p. 3) e gli ID sottorete e gruppo di sicurezza per il VPC creato in Creare il VPC cluster
     Amazon EKS (p. 3).

     aws eks create-cluster --name devel --role-arn arn:aws:iam::111122223333:role/
     eks-service-role-AWSServiceRoleForAmazonEKS-EXAMPLEBKZRQR --resources-vpc-config
      subnetIds=subnet-a9189fe2,subnet-50432629,securityGroupIds=sg-f5c54184

         Important

         Se ricevi un errore di sintassi simile al seguente, puoi utilizzare una versione in anteprima
         della AWS CLI per Amazon EKS. La sintassi di molti comandi Amazon EKS è cambiata
         dal momento dell'avvio del servizio pubblico. Aggiorna la versione della AWS CLI all'ultima
         disponibile e assicurati di cancellare la directory del modello di servizio personalizzata da
         ~/.aws/models/eks.

         aws: error: argument --cluster-name is required

         Note

         Se l'utente IAM non dispone di privilegi di amministrazione, devi aggiungere esplicitamente
         le autorizzazioni dell'utente per chiamare le operazioni dell'API Amazon EKS. Per ulteriori
         informazioni, consulta Creazione di policy IAM di Amazon EKS (p. 53).

     Output:

     {
         "cluster": {
             "name": "devel",
             "arn": "arn:aws:eks:us-west-2:111122223333:cluster/devel",
             "createdAt": 1527785885.159,
             "version": "1.10",
             "roleArn": "arn:aws:iam::111122223333:role/eks-service-role-
     AWSServiceRoleForAmazonEKS-AFNL4H8HB71F",
             "resourcesVpcConfig": {
                 "subnetIds": [

                                                 9
Amazon EKS Guida per l'utente
                              Fase 2: configura kubectl per Amazon EKS

                            "subnet-a9189fe2",
                            "subnet-50432629"
                       ],
                       "securityGroupIds": [
                           "sg-f5c54184"
                       ],
                       "vpcId": "vpc-a54041dc"
                  },
                  "status": "CREATING",
                  "certificateAuthority": {}
              }
         }

    2.   In genere il provisioning del cluster richiede meno di 10 minuti. Puoi eseguire query sullo stato del
         cluster il comando seguente. Quando lo stato del cluster è ACTIVE, puoi procedere.

         aws eks describe-cluster --name devel --query cluster.status

    3.   Al termine del provisioning del cluster, recupera i valori endpoint e certificateAuthority.data
         con i seguenti comandi. Questi devono essere aggiunti alla configurazione kubectl per consentire la
         comunicazione con il cluster.

         a.   Recupera il valore endpoint.

              aws eks describe-cluster --name devel          --query cluster.endpoint

         b.   Recupera il valore certificateAuthority.data.

              aws eks describe-cluster --name devel          --query cluster.certificateAuthority.data

Fase 2: configura kubectl per Amazon EKS
    In questa sezione, imparerai a creare un file kubeconfig per il cluster. Il blocco di codice nella
    procedura sottostante contiene gli elementi kubeconfig da aggiungere alla configurazione. Se
    disponi di una configurazione esistente e hai familiarità con l'uso di file kubeconfig, puoi unire
    questi elementi nelle impostazioni esistenti. Assicurati di sostituire il valore 
    con l'URL dell'endpoint completo (ad esempio, https://API_SERVER_ENDPOINT.yl4.us-
    west-2.eks.amazonaws.com) che è stato creato per il cluster, sostituisci  con il valore certificateAuthority.data recuperato in precedenza e sostituisci  con il nome del cluster.

    Amazon EKS utilizza l'autenticatore IAM AWS per Kubernetes con kubectl per l'autenticazione del cluster,
    che utilizza la stessa catena di provider delle credenziali AWS predefinite della AWS CLI e degli SDK AWS.
    Se hai installato la AWS CLI sul tuo sistema, per impostazione predefinita l'autenticatore IAM AWS per
    Kubernetes utilizzerà le stesse credenziali che vengono restituite con il comando seguente:

    aws sts get-caller-identity

    Per ulteriori informazioni, consulta Configurazione di AWS CLI nella Guida per l'utente di AWS Command
    Line Interface.

    Per fare in modo invece che l'autenticatore IAM AWS per Kubernetes assuma un ruolo per eseguire
    operazioni cluster, rimuovere il commento nelle righe -r e  e sostituire un ARN del ruolo IAM
    da usare con l'utente.

                                                    10
Amazon EKS Guida per l'utente
                           Fase 2: configura kubectl per Amazon EKS

Se gestisci più profili di credenziali AWS, puoi impostare la variabile AWS_PROFILE nella tua shell o
specificare il nome del profilo in un valore della variabile di ambiente che l'autenticatore può utilizzare nel
tuo kubeconfig come indicato nella procedura sottostante.

Se non disponi di una configurazione esistente o vuoi aggiungere il cluster Amazon EKS senza modificare i
file di configurazione esistenti, puoi utilizzare la procedura seguente per aggiungere il cluster Amazon EKS
alla configurazione.

Per recuperare le informazioni sul cluster con AWS CLI

Al termine del provisioning del cluster, recupera i valori endpoint e certificateAuthority.data
con i seguenti comandi. Questi devono essere aggiunti alla configurazione kubectl per consentire la
comunicazione con il cluster.

1.   Recuperare il valore endpoint per il cluster. Utilizzarlo per  nel file kubeconfig.

     aws eks describe-cluster --name devel            --query cluster.endpoint

2.   Recuperare il valore certificateAuthority.data per il cluster. Utilizzarlo per  nel file kubeconfig.

     aws eks describe-cluster --name devel            --query cluster.certificateAuthority.data

Per creare il file kubeconfig

1.   Crea la directory predefinita ~/.kube se non esiste già.

     mkdir -p ~/.kube

2.   Apri l'editor di testo preferito e copia al suo interno il blocco di codice kubeconfig riportato sotto.

     apiVersion: v1
     clusters:
     - cluster:
         server: 
         certificate-authority-data: 
       name: kubernetes
     contexts:
     - context:
         cluster: kubernetes
         user: aws
       name: aws
     current-context: aws
     kind: Config
     preferences: {}
     users:
     - name: aws
       user:
         exec:
            apiVersion: client.authentication.k8s.io/v1alpha1
            command: aws-iam-authenticator
            args:
              - "token"
              - "-i"
              - ""
              # - "-r"
              # - ""
            # env:
              # - name: AWS_PROFILE

                                                 11
Amazon EKS Guida per l'utente
                           Fase 3: avvia e configura i nodi di lavoro Amazon EKS

                    #    value: ""

     3.   Sostituisci  con l'URL endpoint che è stato creato per il cluster.
     4.   Sostituisci  con il valore certificateAuthority.data che è stato
          creato per il cluster.
     5.   Sostituisci  con il nome del cluster.
     6.   (Facoltativo) Per fare in modo che l'autenticatore IAM AWS per Kubernetes assuma un ruolo per
          eseguire operazioni cluster, invece della catena di provider delle credenziali AWS predefinite,
          rimuovere il commento nelle righe -r e  e sostituire un ARN del ruolo IAM da usare con
          l'utente.
     7.   (Facoltativo) Per fare in modo che l'autenticatore IAM AWS per Kubernetes utilizzi sempre un profilo
          di credenziali AWS specifico (invece della catena di provider delle credenziali AWS predefinite),
          rimuovere il commento nelle righe env e sostituire  con il nome del profilo da usare.
     8.   Salva il file nella cartella kubectl predefinita, con il nome del cluster nel nome file. Ad esempio, se il
          nome del cluster è devel, salva il file in ~/.kube/config-devel.
     9.   Aggiungi il percorso di file alla variabile di ambiente KUBECONFIG in modo che kubectl sappia dove
          cercare la configurazione cluster.

          export KUBECONFIG=$KUBECONFIG:~/.kube/config-devel

     10. (Facoltativo) Aggiungi la configurazione al file di inizializzazione della shell in modo che sia configurato
         quando si apre una shell.

          • Per le shell Bash su macOS:

            echo 'export KUBECONFIG=$KUBECONFIG:~/.kube/config-devel' >> ~/.bash_profile

          • Per le shell Bash su Linux:

            echo 'export KUBECONFIG=$KUBECONFIG:~/.kube/config-devel' >> ~/.bashrc

     11. Prova la configurazione.

          kubectl get svc

              Note

              Se ricevi l'errore "aws-iam-authenticator": executable file not found in
              $PATH, significa che kubectl non è configurato per Amazon EKS. Per ulteriori informazioni,
              consulta Configurare kubectl per Amazon EKS (p. 40).

          Output:

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

Fase 3: avvia e configura i nodi di lavoro Amazon
EKS
     Ora che il VPC e il piano di controllo Kubernetes sono stati creati, puoi avviare e configurare i nodi di
     lavoro.

                                                       12
Amazon EKS Guida per l'utente
                      Fase 3: avvia e configura i nodi di lavoro Amazon EKS

     Important

     I nodi di lavoro Amazon EKS sono istanze Amazon EC2 standard e la loro fatturazione è basata
     sui normali prezzi dell'istanza on demand Amazon EC2. Per ulteriori informazioni, consulta Prezzi
     di Amazon EC2.

Per avviare i nodi di lavoro

1.   Apri la console AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation.
2.   Dalla barra di navigazione, seleziona una regione che supporta Amazon EKS.
         Note

         Amazon EKS è al momento disponibile nelle seguenti regioni:

         • Stati Uniti occidentali (Oregon) (us-west-2)
         • Stati Uniti orientali (Virginia settentrionale) (us-east-1)
3.   Scegli Create stack (Crea stack).
4.   Per Choose a template (Scegli un modello), seleziona Specify an Amazon S3 template URL (Specifica
     un URL modello di &S3).
5.   Incolla il seguente URL nell'area di testo e scegli Next (Successivo):

     https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/amazon-eks-
     nodegroup.yaml

6.   Nella pagina Specify Details (Specifica dettagli), compila i parametri seguenti di conseguenza e scegli
     Next (Successivo).

     • Stack name (Nome stack): scegli il nome per lo stack AWS CloudFormation. Ad esempio, puoi
       chiamarlo -nodi-di-lavoro.
     • ClusterName: immetti il nome che hai utilizzato al momento della creazione del cluster Amazon EKS.
           Important

           Questo nome deve corrispondere esattamente al nome che hai utilizzato in Fase 1: crea il
           tuo cluster Amazon EKS (p. 8); in caso contrario, i nodi di lavoro non possono essere
           aggiunti al cluster.
     • ClusterControlPlaneSecurityGroup: scegli il valore SecurityGroups dall'uscita AWS CloudFormation
       generata con Creare il VPC cluster Amazon EKS (p. 3).
     • NodeGroupName: immetti un nome per il gruppo di nodi che sarà incluso nel nome del gruppo di
       nodi Auto Scaling.
     • NodeAutoScalingGroupMinSize: immetti il numero minimo di nodi che il gruppo Auto Scaling di nodi
       di lavoro è in grado di ridimensionare.
     • NodeAutoScalingGroupMaxSize: immetti il numero massimo di nodi che il gruppo Auto Scaling di
       nodi di lavoro è in grado ricalibrare orizzontalmente.
     • NodeInstanceType: scegli un tipo di istanza per i nodi di lavoro.
     • NodeImageId: immetti l'ID AMI del nodo di lavoro Amazon EKS corrente per la tua regione.

        Regione                                                ID AMI ottimizzato Amazon EKS

        Stati Uniti occidentali (Oregon) (us-west-2)           ami-02415125ccd555295

        Stati Uniti orientali (Virginia settentrionale) (us-   ami-048486555686d18a0
        east-1)
                                                   13
Amazon EKS Guida per l'utente
                      Fase 3: avvia e configura i nodi di lavoro Amazon EKS

            Note

            L'AMI del nodo di lavoro Amazon EKS si basa su Amazon Linux 2. Puoi tenere traccia di
            eventi di sicurezza o privacy per Amazon Linux 2 presso il Centro di sicurezza Amazon
            Linux oppure abbonarti al feed RSS associato. Eventi di sicurezza e privacy includono una
            panoramica del problema, quali sono i pacchetti interessati e come aggiornare le istanze
            per risolvere il problema.
     • KeyName: immetti il nome di una coppia di chiavi SSH Amazon EC2 che puoi utilizzare per
       connetterti utilizzando SSH nei nodi di lavoro dopo che sono stati avviati.
     • VpcId: immetti l'ID del VPC che hai creato in Creare il VPC cluster Amazon EKS (p. 3).
     • Subnets: scegli le sottoreti che hai creato in Creare il VPC cluster Amazon EKS (p. 3).
7.   Nella pagina Options (Opzioni), puoi scegliere di aggiungere tag alle risorse dello stack. Seleziona
     Successivo.
8.   Nella pagina Review (Verifica), esamina le informazioni, riconosci che lo stack può creare risorse IAM,
     quindi scegli Create (Crea).
9.   Al termine della creazione dello stack, selezionalo nella console e scegli la scheda Outputs (Uscite).
10. Registra il NodeInstanceRole per il gruppo di nodi che è stato creato. Questo ti servirà quando
    configuri i nodi di lavoro Amazon EKS.

Per abilitare l'aggiunta di nodi di lavori al cluster

1.   Scarica, modifica e applica la mappa di configurazione dell'autenticatore AWS:

     a.   Scarica la mappa di configurazione.

          curl -O https://amazon-eks.s3-us-west-2.amazonaws.com/1.10.3/2018-07-26/aws-auth-
          cm.yaml

     b.   Apri il file con l'editor di testo preferito. Sostituisci lo snippet  con il valore NodeInstanceRole che hai registrato nella procedura
          precedente e salva il file.
              Important

              Non modificare altre righe in questo file.

          apiVersion: v1
          kind: ConfigMap
          metadata:
            name: aws-auth
            namespace: kube-system
          data:
            mapRoles: |
              - rolearn: 
                username: system:node:{{EC2PrivateDNSName}}
                groups:
                  - system:bootstrappers
                  - system:nodes

     c.   Applica la configurazione. L'esecuzione di questo comando potrebbe richiedere alcuni minuti.

          kubectl apply -f aws-auth-cm.yaml

                                                 14
Amazon EKS Guida per l'utente
                               Fase 4: avvia un'applicazione Registro visitatori

                    Note

                    Se ricevi l'errore "aws-iam-authenticator": executable file not found
                    in $PATH, significa che kubectl non è configurato per Amazon EKS. Per ulteriori
                    informazioni, consulta Configurare kubectl per Amazon EKS (p. 40).
     2.   Guarda lo stato dei nodi e attendi che raggiungano lo stato Ready.

          kubectl get nodes --watch

Fase 4: avvia un'applicazione Registro visitatori
     In questa sezione, imparerai a creare un'applicazione Registro visitatori di esempio per testare il nuovo
     cluster.
          Note

          Per ulteriori informazioni sulla configurazione del Registro visitatori di esempio, consulta https://
          github.com/kubernetes/examples/blob/master/guestbook-go/README.md nella documentazione
          Kubernetes.

     Per creare l'applicazione Registro visitatori

     1.   Crea il controller di replica master Redis.

          kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/
          examples/guestbook-go/redis-master-controller.json

              Note

              Se ricevi l'errore "aws-iam-authenticator": executable file not found in
              $PATH, significa che kubectl non è configurato per Amazon EKS. Per ulteriori informazioni,
              consulta Configurare kubectl per Amazon EKS (p. 40).

          Output:

          replicationcontroller "redis-master" created

     2.   Crea il servizio master Redis.

          kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/
          examples/guestbook-go/redis-master-service.json

          Output:

          service "redis-master" created

     3.   Crea il controller di replica slave Redis.

          kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/
          examples/guestbook-go/redis-slave-controller.json

          Output:

                                                        15
Amazon EKS Guida per l'utente
                           Fase 4: avvia un'applicazione Registro visitatori

     replicationcontroller "redis-slave" created

4.   Crea il servizio slave Redis.

     kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/
     examples/guestbook-go/redis-slave-service.json

     Output:

     service "redis-slave" created

5.   Crea il controller di replica del Registro visitatori.

     kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/
     examples/guestbook-go/guestbook-controller.json

     Output:

     replicationcontroller "guestbook" created

6.   Crea il servizio Registro visitatori.

     kubectl apply -f https://raw.githubusercontent.com/kubernetes/kubernetes/v1.10.3/
     examples/guestbook-go/guestbook-service.json

     Output:

     service "guestbook" created

7.   Esegui la query dei servizi nel cluster e attendi che la colonna External IP (IP esterno) del servizio
     guestbook venga compilata.
         Note

         Prima che l'indirizzo IP sia disponibile potrebbero essere necessari alcuni minuti.

     kubectl get services -o wide

8.   Dopo che l'indirizzo IP esterno è disponibile, accedere con un browser Web a tale
     indirizzo sulla porta 3000 per visualizzare il Registro visitatori. Ad esempio, http://
     a7a95c2b9e69711e7b1a3022fdcfdf2e-1985673473.us-west-2.elb.amazonaws.com:3000
         Note

         Potrebbero essere necessari alcuni minuti affinché il DNS si propaghi e il Registro visitatori
         venga visualizzato.

                                                    16
Amazon EKS Guida per l'utente
                             Fase 5: pulizia degli oggetti del Registro visitatori

              Important

              Se non sei in grado di connetterti all'indirizzo IP esterno con il tuo browser, assicurati che il
              firewall aziendale non stia bloccando porte non standard, come la porta 3000. Per verificare,
              puoi provare a passare a una rete guest.

Fase 5: pulizia degli oggetti del Registro visitatori
     Quando hai terminato di testare l'applicazione Registro visitatori, devi rimuovere le risorse che hai creato
     per l'applicazione. Il comando seguente elimina tutti i servizi e i controller di replica per l'applicazione
     Registro visitatori:

     kubectl delete rc/redis-master rc/redis-slave rc/guestbook svc/redis-master svc/redis-slave
      svc/guestbook

         Note

         Se ricevi l'errore "aws-iam-authenticator": executable file not found in $PATH,
         significa che kubectl non è configurato per Amazon EKS. Per ulteriori informazioni, consulta
         Configurare kubectl per Amazon EKS (p. 40).

                                                      17
Amazon EKS Guida per l'utente
                                        Creazione di un cluster

Cluster Amazon EKS
    Un cluster Amazon EKS è costituito da due componenti principali:

    • Il piano di controllo Amazon EKS
    • I nodi di lavoro Amazon EKS registrati con il piano di controllo

    Il piano di controllo Amazon EKS è composto da nodi che eseguono il software Kubernetes, come etcd e il
    server API Kubernetes. Il piano di controllo viene eseguito in un account gestito da AWS e l'API Kubernetes
    è esposta tramite l'endpoint Amazon EKS associato al tuo cluster.

    I nodi di lavoro Amazon EKS vengono eseguiti nel tuo account AWS e si connettono al piano di controllo
    del cluster tramite l'endpoint del server API del cluster e un file del certificato creato per il cluster.

    Il piano di controllo del cluster viene assegnato in più zone di disponibilità e anticipato da Elastic Load
    Balancing Network Load Balancer. Amazon EKS assegna anche interfacce di rete elastica nelle sottoreti
    VPC per fornire la connettività dalle istanze del piano di controllo ai nodi di lavoro (ad esempio, per
    supportare i flussi di dati kubectl exec, logs e proxy).

    Argomenti
     • Creazione di un cluster Amazon EKS (p. 18)
     • Eliminazione di un cluster (p. 21)

Creazione di un cluster Amazon EKS
    Questo argomento ti introdurrà alla creazione di un cluster Amazon EKS.

    Se è la prima volta che crei un cluster Amazon EKS, ti consigliamo di seguire la guida Nozioni di base su
    Amazon EKS (p. 3), che fornisce una procedura guidata end-to-end completa dalla creazione di un cluster
    Amazon EKS alla distribuzione di un'applicazione Kubernetes di esempio.

    Questo argomento presuppone quanto segue:

    • Hai creato un VPC e un gruppo di sicurezza dedicato che soddisfano i requisiti per un Amazon
      EKS cluster. Per ulteriori informazioni, consulta Considerazioni relative a VPC cluster (p. 30) e
      Considerazioni relative al gruppo di sicurezza del cluster (p. 31). La guida Nozioni di base su Amazon
      EKS (p. 3) consente di creare un VPC che soddisfa i requisiti. In alternativa, puoi seguire Tutorial:
      Creazione di un VPC con sottoreti pubbliche e private per il cluster Amazon EKS (p. 63) per crearne
      uno manualmente.
    • Hai creato un ruolo di servizio Amazon EKS da applicare al tuo cluster. La guida Nozioni di base su
      Amazon EKS (p. 3) consente di creare un ruolo di servizio. In alternativa, puoi seguire Ruolo IAM del
      servizio Amazon EKS (p. 54) per crearne uno manualmente.

        Important

        Quando viene creato un cluster Amazon EKS l'entità IAM, (utente o ruolo) che crea il cluster viene
        aggiunto alla tabella di autorizzazioni RBAC Kubernetes come amministratore. Inizialmente, solo
        tale utente IAM può effettuare chiamate al server API Kubernetes utilizzando kubectl. Inoltre,
        l'autenticatore IAM AWS per Kubernetes utilizza SDK AWS per Go per eseguire l'autenticazione
        rispetto al cluster Amazon EKS. Se si utilizza la console per creare il cluster, è necessario

                                                    18
Amazon EKS Guida per l'utente
                                     Creazione di un cluster

     assicurarsi che le stesse credenziali utente IAM siano presenti nella catena di credenziali SDK
     AWS quando si eseguono i comandi kubectl sul cluster.
     Se si installa e si configura AWS CLI, è possibile configurare le credenziali IAM, per l'utente.
     Queste possono anche essere utilizzate per l'autenticatore IAM AWS per Kubernetes. Se la AWS
     CLI è configurata correttamente per l'utente, allora anche l'autenticatore IAM AWS per Kubernetes
     può trovare tali credenziali. Per ulteriori informazioni, consulta Configurazione di AWS CLI nella
     Guida per l'utente di AWS Command Line Interface.

Per creare il cluster con la console

1.   Open the Amazon EKS console at https://console.aws.amazon.com/eks/home#/clusters.
2.   Seleziona Create cluster (Crea cluster).
         Note

         Se l'utente IAM non dispone di privilegi di amministrazione, devi aggiungere esplicitamente
         le autorizzazioni dell'utente per chiamare le operazioni dell'API Amazon EKS. Per ulteriori
         informazioni, consulta Creazione di policy IAM di Amazon EKS (p. 53).
3.   Nella pagina Create cluster (Crea cluster), compila i campi seguenti, quindi scegli Create (Crea):

     • Cluster name (Nome del cluster): un nome univoco per il cluster.
     • Kubernetes version (Versione Kubernetes): la versione di Kubernetes da utilizzare per il cluster. Per
       impostazione predefinita, viene selezionata l'ultima versione disponibile.
     • Role ARN (ARN del ruolo): l'Amazon Resource Name (ARN) del ruolo di servizio Amazon EKS. Per
       ulteriori informazioni, consulta Ruolo IAM del servizio Amazon EKS (p. 54).
     • VPC: il VPC da utilizzare con il cluster.
     • Subnets (sottoreti): le sottoreti all'interno del VPC da utilizzare per il tuo cluster. Per impostazione
       predefinita, le sottoreti disponibili nel VPC precedente sono preselezionate. Le sottoreti devono
       soddisfare i requisiti per i cluster Amazon EKS. Per ulteriori informazioni, consulta Considerazioni
       relative a VPC cluster (p. 30).
     • Security Groups (Gruppi di sicurezza): specifica uno o più (fino a massimo 5) gruppi di sicurezza
       all'interno del VPC da applicare alle interfacce di rete elastica su più account per il tuo cluster.
       I gruppi di sicurezza del cluster e dei nodi di lavoro devono soddisfare i requisiti per i cluster
       Amazon EKS. Per ulteriori informazioni, consulta Considerazioni relative al gruppo di sicurezza del
       cluster (p. 31).
            Important

            Il modello AWS CloudFormation del nodo lavoratore modifica il gruppo di sicurezza ivi
            specificato, per cui consigliamo di utilizzare un gruppo di sicurezza dedicato per il piano di
            controllo del cluster. Se condiviso con altre risorse, è possibile bloccare o interrompere le
            connessioni a queste risorse.

         Note

         È possibile ricevere un errore che indica 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. È necessario
         riprovare a creare il cluster con almeno due sottoreti che si trovano nelle zone di disponibilità
         supportate per l'account.
4.   Nella pagina Clusters (Cluster), scegliere il nome del nuovo cluster creato per visualizzare le
     informazioni sul cluster.
5.   Il campo Status (Stato) mostra CREATING (CREAZIONE) fino al termine del processo di provisioning.
     Attendere il termine del provisioning del cluster (in genere meno di 10 minuti) e prendere nota dei valori
     API server endpoint (Endpoint server API) e Certificate authority (Autorità di certificazione). Verranno
     utilizzati nella configurazione kubectl.

                                                   19
Amazon EKS Guida per l'utente
                                    Creazione di un cluster

6.   Ora che hai creato il tuo cluster, segui le procedure indicate in Configurare kubectl per Amazon
     EKS (p. 40) e Creare una kubeconfig per Amazon EKS (p. 44) per abilitare la comunicazione
     con il nuovo cluster.

Per creare il tuo cluster con la AWS CLI

1.   Crea un cluster con il seguente comando. Sostituisci il nome del cluster, l'Amazon Resource Name
     (ARN) del ruolo del servizio Amazon EKS, creato in Creare il ruolo del servizio Amazon EKS (p. 3)
     e gli ID sottorete e gruppo di sicurezza per il VPC che hai creato in Creare il VPC cluster Amazon
     EKS (p. 3).

     aws eks create-cluster --name devel --role-arn arn:aws:iam::111122223333:role/
     eks-service-role-AWSServiceRoleForAmazonEKS-EXAMPLEBKZRQR --resources-vpc-config
      subnetIds=subnet-a9189fe2,subnet-50432629,securityGroupIds=sg-f5c54184

         Important

         Se ricevi un errore di sintassi simile al seguente, puoi utilizzare una versione in anteprima
         della AWS CLI per Amazon EKS. La sintassi di molti comandi Amazon EKS è cambiata
         dal momento dell'avvio del servizio pubblico. Aggiorna la versione della AWS CLI all'ultima
         disponibile e assicurati di cancellare la directory del modello di servizio personalizzata da
         ~/.aws/models/eks.

         aws: error: argument --cluster-name is required

         Note

         Se l'utente IAM non dispone di privilegi di amministrazione, devi aggiungere esplicitamente
         le autorizzazioni dell'utente per chiamare le operazioni dell'API Amazon EKS. Per ulteriori
         informazioni, consulta Creazione di policy IAM di Amazon EKS (p. 53).

     Output:

     {
         "cluster": {
             "name": "devel",
             "arn": "arn:aws:eks:us-west-2:111122223333:cluster/devel",
             "createdAt": 1527785885.159,
             "version": "1.10",
             "roleArn": "arn:aws:iam::111122223333:role/eks-service-role-
     AWSServiceRoleForAmazonEKS-AFNL4H8HB71F",
             "resourcesVpcConfig": {
                 "subnetIds": [
                      "subnet-a9189fe2",
                      "subnet-50432629"
                 ],
                 "securityGroupIds": [
                      "sg-f5c54184"
                 ],
                 "vpcId": "vpc-a54041dc"
             },
             "status": "CREATING",
             "certificateAuthority": {}
         }
     }

                                               20
Amazon EKS Guida per l'utente
                                          Eliminazione di un cluster

               Note

               È possibile ricevere un errore che indica 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. È necessario
               riprovare a creare il cluster con almeno due sottoreti che si trovano nelle zone di disponibilità
               supportate per l'account.
     2.   In genere il provisioning del cluster richiede meno di 10 minuti. Puoi eseguire query sullo stato del
          cluster il comando seguente. Quando lo stato del cluster è ACTIVE, puoi procedere.

          aws eks describe-cluster --name devel --query cluster.status

     3.   Al termine del provisioning del cluster, recupera i valori endpoint e certificateAuthority.data
          con i seguenti comandi. Questi devono essere aggiunti alla configurazione kubectl per consentire la
          comunicazione con il cluster.

          a.   Recupera il valore endpoint:

               aws eks describe-cluster --name devel          --query cluster.endpoint

          b.   Recupera il valore certificateAuthority.data:

               aws eks describe-cluster --name devel          --query cluster.certificateAuthority.data

     4.   Ora che hai creato il tuo cluster, segui le procedure indicate in Configurare kubectl per Amazon
          EKS (p. 40) e Creare una kubeconfig per Amazon EKS (p. 44) per abilitare la comunicazione
          con il nuovo cluster.

Eliminazione di un cluster
     Quando hai terminato l'utilizzo di un cluster Amazon EKS, devi eliminare le risorse ad esso associate per
     non dover sostenere costi superflui.
          Important

          Se disponi di servizi attivi nel cluster che sono associati a un sistema di bilanciamento del
          carico, devi eliminare questi servizi prima di eliminare il cluster per una corretta eliminazione del
          sistema di bilanciamento del carico. In caso contrario, potresti avere risorse orfane nel VPC che ti
          impediscono di eliminarlo.

     Per eliminare un cluster Amazon EKS

     1.   Elenca tutti i servizi in esecuzione nel cluster:

          kubectl get svc --all-namespaces

     2.   Elimina i servizi che hanno un valore EXTERNAL-IP associato. Questi servizi sono anticipati da un
          sistema di bilanciamento del carico Elastic Load Balancing, ed è necessario eliminarli in Kubernetes
          per consentire al sistema e alle risorse associate di essere rilasciate correttamente.

          kubectl delete svc

     3.   Elimina lo stack AWS CloudFormation del nodo di lavoro:

          a.   Apri la console AWS CloudFormation all'indirizzo https://console.aws.amazon.com/cloudformation.

                                                       21
Puoi anche leggere