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
iiiAmazon 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
ivAmazon 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.
1Amazon 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).
2Amazon 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).
3Amazon 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
4Amazon 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
5Amazon 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.
6Amazon 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.
7Amazon 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
8Amazon 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": [
9Amazon 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.
10Amazon 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
11Amazon 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.
12Amazon 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)
13Amazon 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
14Amazon 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:
15Amazon 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.
16Amazon 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).
17Amazon 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
18Amazon 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.
19Amazon 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": {}
}
}
20Amazon 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.
21Puoi anche leggere