Aiutaci a migliorare questa pagina
Vuoi contribuire a questa guida per l'utente? Scorri fino alla fine di questa pagina e seleziona Modifica questa pagina su GitHub. I tuoi contributi contribuiranno a rendere la nostra guida utente migliore per tutti.
Le traduzioni sono generate tramite traduzione automatica. In caso di conflitto tra il contenuto di una traduzione e la versione originale in Inglese, quest'ultima prevarrà.
Inizia a usare Amazon EKS AWS Management Console e AWS CLI
Questa guida ti aiuta a creare tutte le risorse necessarie per iniziare a usare Amazon Elastic Kubernetes Service (EKSAmazon) utilizzando e il. AWS Management Console AWS CLI Con questa guida è possibile creare manualmente ogni risorsa. Alla fine di questo tutorial, avrai un EKS cluster Amazon in esecuzione su cui distribuire applicazioni.
Le procedure descritte in questa guida ti consentono di visualizzare in modo completo il modo in cui ogni risorsa viene creata e il modo in cui le risorse interagiscono tra loro. Se preferisci che la maggior parte delle risorse venga creata automaticamente, usa il eksctl
CLI per creare cluster e nodi. Per ulteriori informazioni, consulta Inizia a usare Amazon EKS — eksctl.
Prerequisiti
Prima di iniziare questo tutorial, devi installare e configurare i seguenti strumenti e risorse necessari per creare e gestire un EKS cluster Amazon.
-
AWS CLI— Uno strumento da riga di comando per lavorare con AWS i servizi, incluso AmazonEKS. Per informazioni, consultare Installazione, aggiornamento e disinstallazione di AWS CLI nella Guida per l'utente di AWS Command Line Interface . Dopo aver installato AWS CLI, ti consigliamo di configurarlo anche. Per ulteriori informazioni, consultare Configurazione rapida con
aws configure
nella Guida per l'utente AWS Command Line Interface . Nota che la AWS CLI v2 è necessaria per utilizzare l'opzione update-kubeconfig mostrata in questa pagina. -
kubectl
— Uno strumento da riga di comando con cui lavorare Kubernetes i cluster. Per ulteriori informazioni, consulta Configurazione kubectl e eksctl. -
IAMAutorizzazioni richieste: il responsabile della IAM sicurezza che stai utilizzando deve disporre delle autorizzazioni per lavorare con EKS IAM i ruoli Amazon, i ruoli collegati ai servizi AWS CloudFormation VPC, a e le risorse correlate. Per ulteriori informazioni, consulta Azioni, risorse e chiavi di condizione per Amazon Elastic Kubernetes Servizio e utilizzo dei ruoli collegati ai servizi nella Guida per l'IAMutente. È necessario che tutti i passaggi di questa guida siano completati dallo stesso utente. Esegui il comando seguente per controllare l’utente corrente:
aws sts get-caller-identity
-
Ti consigliamo di completare la procedura descritta in questo argomento in una shell Bash. In alternativa, puoi apportare alcune modifiche alla tua shell per alcuni comandi di script, come i caratteri di continuazione della riga, e per il modo in cui le variabili vengono impostate e utilizzate. Inoltre, le regole di escape e di utilizzo delle virgolette per la shell (interprete di comandi) potrebbero essere diverse. Per ulteriori informazioni, vedere Uso delle virgolette con le stringhe nella Guida per l' AWS CLIutente. AWS Command Line Interface
Fase 1: Crea il tuo EKS cluster Amazon
Importante
Per iniziare nel modo più semplice e rapido possibile, in questo argomento sono inclusi i passaggi per creare un cluster con impostazioni predefinite. Prima di creare un cluster da utilizzare in produzione, è consigliabile acquisire familiarità con tutte le impostazioni e implementare un cluster con le impostazioni che soddisfano i tuoi requisiti. Per ulteriori informazioni, consulta Crea un EKS cluster Amazon. Alcune impostazioni possono essere abilitate solo quando crei cluster.
Per creare il cluster
-
Crea un Amazon VPC con sottoreti pubbliche e private che soddisfi i requisiti di AmazonEKS. Regione AWS Sostituiscilo
con uno supportato da AmazonEKS. Per un elenco di Regioni AWS, consulta gli EKSendpoint e le quote di Amazon nella guida di riferimento AWS generale. Puoi sostituirloregion-code
con qualsiasi nome tu scelga.my-eks-vpc-stack
aws cloudformation create-stack \ --region
region-code
\ --stack-namemy-eks-vpc-stack
\ --template-url https://s3.us-west-2.amazonaws.com/amazon-eks/cloudformation/2020-10-29/amazon-eks-vpc-private-subnets.yamlSuggerimento
Per un elenco di tutte le risorse create dal comando precedente, apri la AWS CloudFormation console all'indirizzo https://console.aws.amazon.com/cloudformation.
Scegli lo stack
, quindi la scheda Resources (Risorse).my-eks-vpc-stack
-
Crea un IAM ruolo del cluster e allega la policy EKS IAM gestita di Amazon richiesta. Kubernetes i cluster gestiti da Amazon EKS effettuano chiamate ad altri AWS servizi per tuo conto per gestire le risorse che utilizzi con il servizio.
-
Copiare i seguenti contenuti in un file denominato
.eks-cluster-role-trust-policy.json
{ "Version": "2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
-
Crea il ruolo.
aws iam create-role \ --role-name
myAmazonEKSClusterRole
\ --assume-role-policy-document file://"eks-cluster-role-trust-policy.json
" -
Allega la IAM policy EKS gestita di Amazon richiesta al ruolo.
aws iam attach-role-policy \ --policy-arn arn:aws:iam::aws:policy/AmazonEKSClusterPolicy \ --role-name
myAmazonEKSClusterRole
-
Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters
. Assicurati che quello Regione AWS mostrato in alto a destra della console sia Regione AWS quello in cui desideri creare il cluster. In caso contrario, scegli il menu a discesa accanto al Regione AWS nome e scegli Regione AWS quello che desideri utilizzare.
-
Scegli Add cluster (Aggiungi cluster), quindi scegli Create (Crea). Se non viene visualizzata questa opzione, scegli Clusters (Cluster) nel pannello di navigazione a sinistra.
-
Nella pagina Configure cluster (Configura cluster), completare le seguenti operazioni:
-
Immettere un nome per il cluster, ad esempio
my-cluster
. Il nome può contenere solo caratteri alfanumerici (con distinzione tra lettere maiuscole e minuscole) e trattini. Deve iniziare con un carattere alfanumerico e non può essere più lungo di 100 caratteri. Il nome deve essere univoco all'interno del Regione AWS e in Account AWS cui si sta creando il cluster. -
Per Cluster Service Role, scegli
myAmazonEKSClusterRole
. -
Lasciare le impostazioni rimanenti sui valori di default e selezionare Next (Successivo).
-
-
Nella pagina Specify networking (Specifica rete), procedere come segue:
-
Scegli l'ID VPC che hai creato in un passaggio precedente dall'elenco a VPCdiscesa. È qualcosa di simile
vpc-00x0000x000x0x000
|my-eks-vpc-stack-VPC
. -
Lasciare le impostazioni rimanenti sui valori di default e selezionare Next (Successivo).
-
-
Nella pagina Configura osservabilità, scegli Avanti.
-
Nella pagina Seleziona componenti aggiuntivi, scegli Successivo.
Per ulteriori informazioni sui componenti aggiuntivi, consulta la pagina EKSComponenti aggiuntivi Amazon.
-
Nella pagina Configura le impostazioni dei componenti aggiuntivi selezionati, scegli Successivo.
-
Nella pagina Review and create (Rivedi e crea), scegliere Create (Crea).
A destra del nome del cluster, lo stato del cluster è Creazione in corso per alcuni minuti fino al termine del processo di provisioning del cluster. Non proseguire con il passaggio successivo finché lo stato non è Attivo.
Nota
Potresti ricevere un errore che indica che una delle zone di disponibilità nella tua richiesta non ha una capacità sufficiente per creare un EKS cluster Amazon. In questo caso, l'output di errore contiene le zone di disponibilità in grado di supportare un nuovo cluster. Riprova a creare il cluster con almeno due sottoreti che si trovano nelle zone di disponibilità supportate per il tuo account. Per ulteriori informazioni, consulta Capacità insufficiente.
Fase 2: Configurazione del computer per comunicare con il cluster
In questa sezione, imparerai a creare un file kubeconfig
per il cluster. Le impostazioni in questo file consentono kubectl
CLI di comunicare con il cluster.
Prima di procedere, assicurati che la creazione del cluster sia stata completata correttamente nel Passaggio 1.
Configurazione del computer per comunicazione con il cluster
-
Crea o aggiorna un file
kubeconfig
per il cluster. Sostituisci
con la Regione AWS in cui hai creato il cluster. Sostituisciregion-code
con il nome del cluster.my-cluster
aws eks update-kubeconfig --region
region-code
--namemy-cluster
Per impostazione predefinita, il file
config
viene creato in~/.kube
o la configurazione del nuovo cluster viene aggiunta a un fileconfig
esistente in~/.kube
. -
Prova la configurazione.
kubectl get svc
Nota
Se ricevi qualsiasi altro errore di tipo di risorsa o autorizzazione, consulta la sezione Accesso negato o non autorizzato (kubectl) nell'argomento relativo alla risoluzione dei problemi.
Di seguito viene riportato un output di esempio:
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE svc/kubernetes ClusterIP 10.100.0.1 <none> 443/TCP
1m
Fase 3: Creazione di nodi
Importante
Per iniziare nel modo più semplice e rapido possibile, in questo argomento sono inclusi i passaggi per creare nodi con impostazioni predefinite. Prima di creare i nodi da utilizzare in produzione, è consigliabile acquisire familiarità con tutte le impostazioni e implementare i nodi con le impostazioni che soddisfano i tuoi requisiti. Per ulteriori informazioni, consulta Gestisci le risorse di elaborazione utilizzando i nodi. Alcune impostazioni possono essere abilitate solo quando crei i nodi.
È possibile creare un cluster con uno dei seguenti tipi di nodo. Per ulteriori informazioni sui tipi di nodi, consultare Gestisci le risorse di elaborazione utilizzando i nodi. Dopo aver implementato il cluster, puoi aggiungere altri tipi di nodo.
-
Fargate — Linux— Scegli questo tipo di nodo se vuoi eseguirlo Linux applicazioni attive AWS Fargate. Fargate è un motore di elaborazione serverless che consente di implementare Kubernetes Pods senza gestire le EC2 istanze Amazon.
-
Nodi gestiti: Linux— Scegli questo tipo di nodo se vuoi eseguire applicazioni Amazon Linux su EC2 istanze Amazon. Sebbene non sia trattato in questa guida, puoi anche aggiungere Windows autogestito e Bottlerocketnodi del tuo cluster.
Fase 4: Visualizzazione delle risorse
Puoi visualizzare i tuoi nodi e Kubernetes carichi di lavoro.
Visualizzazione di nodi e carichi di lavoro
-
Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli il nome del cluster che hai creato, ad esempio
my-cluster
. -
Sul
my-cluster
pagina, scegli quanto segue:-
Scheda Calcolo: verrà visualizzato l'elenco di nodi che sono stati implementati per il cluster. È possibile scegliere il nome di un nodo per visualizzare ulteriori informazioni su di esso.
-
Scheda Risorse: vedi tutte le Kubernetes risorse distribuite per impostazione predefinita in un EKS cluster Amazon. Seleziona qualsiasi tipo di risorsa nella console per avere ulteriori informazioni in merito.
-
Fase 5. Eliminazione delle risorse
Dopo aver creato il cluster e i nodi per questo tutorial, devi eliminare le risorse create. Per eseguire altre operazioni con questo cluster prima di eliminare le risorse, consultare Passaggi successivi.
Eliminazione delle risorse create in questa guida
-
Eliminare qualsiasi gruppo di nodi o i profili Fargate creati.
-
Apri la EKS console Amazon a https://console.aws.amazon.com/eks/home#/clusters
. -
Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli
my-cluster
. -
Scegli la scheda Calcolo.
-
Se hai creato un gruppo di nodi, cegli il gruppo di nodi
quindi seleziona Delete (Elimina). Immetteremy-nodegroup
, quindi scegliere Delete (Elimina).my-nodegroup
-
Per ogni profilo Fargate creato, selezionarlo e poi scegliere Delete (Elimina). Immettere il nome del profilo, quindi selezionare Delete (Elimina).
Nota
Quando si elimina un secondo profilo Fargate, potrebbe essere necessario attendere il completamento dell'eliminazione del primo.
-
Non continuare fino a quando il gruppo di nodi o i profili Fargate eliminati.
-
-
Elimina il cluster.
-
Nel pannello di navigazione a sinistra, seleziona Cluster. Nell'elenco dei cluster, scegli
my-cluster
. -
Scegli Delete cluster (Elimina cluster).
-
Immetti
, quindi scegli Elimina. Non continuare fino a quando il cluster non sarà stato eliminato.my-cluster
-
-
Elimina lo VPC AWS CloudFormation stack che hai creato.
-
Apri la AWS CloudFormation console in https://console.aws.amazon.com/cloudformazione.
-
Scegli lo stack
, quindi seleziona Delete (Elimina).my-eks-vpc-stack
-
Nella casella Elimina
my-eks-vpc-stack
nella finestra di dialogo di conferma, scegli Elimina pila.
-
-
Elimina i IAM ruoli che hai creato.
-
Apri la IAM console all'indirizzo https://console.aws.amazon.com/iam/
. -
Nel pannello di navigazione a sinistra, seleziona Ruoli.
-
Seleziona ogni ruolo che hai creato dall'elenco (
myAmazonEKSClusterRole
, oltre a A mazonEKSFargate PodExecutionRole omyAmazonEKSNodeRole
). Scegli Elimina, inserisci il testo di conferma richiesto, quindi scegli Elimina.
-
Passaggi successivi
I seguenti argomenti della documentazione consentono di estendere la funzionalità del cluster.
Il IAMprincipale che ha creato il cluster è l'unico principale che può effettuare chiamate verso Kubernetes APIserver con
kubectl
o AWS Management Console. Se desideri che altri IAM principali abbiano accesso al tuo cluster, devi aggiungerli. Per ulteriori informazioni, consulta Concedi a IAM utenti e ruoli l'accesso a Kubernetes APIs e Autorizzazioni richieste.Implementare un'applicazione di esempio al cluster.
Prima di implementare un cluster da utilizzare in produzione, ti consigliamo di acquisire familiarità con tutte le impostazioni di cluster e nodi. Alcune impostazioni (come SSH l'abilitazione dell'accesso ai EC2 nodi Amazon) devono essere effettuate al momento della creazione del cluster.
Per aumentare la sicurezza del tuo cluster, configura il plug-in Amazon VPC Container Networking Interface per utilizzare IAM i ruoli per gli account di servizio.