Amazon EKS Guida per l'utente - Amazon.com
←
→
Trascrizione del contenuto della pagina
Se il tuo browser non visualizza correttamente la pagina, ti preghiamo di leggere il contenuto della pagina quaggiù
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