Contribuisci a migliorare questa pagina
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à.
Per contribuire a questa guida per l'utente, scegli il GitHub link Modifica questa pagina nel riquadro destro di ogni pagina.
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à.
Crea un cluster EKS Auto Mode con la AWS CLI
I cluster della modalità automatica di EKS automatizzano le attività di routine di gestione del cluster l’elaborazione, l’archiviazione e la rete. Ad esempio, i cluster EKS Auto Mode rilevano automaticamente quando sono necessari nodi aggiuntivi e forniscono nuove EC2 istanze per soddisfare le richieste del carico di lavoro.
Questo argomento illustra la creazione di un nuovo cluster EKS Auto Mode utilizzando la AWS CLI e, facoltativamente, la distribuzione di un carico di lavoro di esempio.
Prerequisiti
-
La versione più recente dell'interfaccia a riga di AWS comando (AWS CLI) installata e configurata sul dispositivo. Per verificare la versione attuale, usa
aws --version. Per installare la versione più recente, consulta Installazione e configurazione rapida con aws configure nella Guida per l'utente dell'interfaccia a riga di AWS comando.-
Accedi alla CLI con autorizzazioni IAM sufficienti per creare AWS risorse tra cui politiche IAM, ruoli IAM e cluster EKS.
-
-
Lo strumento da riga di comando kubectl installato sul tuo dispositivo. AWS suggerisce di utilizzare la stessa versione di kubectl della versione Kubernetes del cluster EKS. Per installare o aggiornare kubectl, consulta Impostazione di kubectl e eksctl.
Specifica le sottoreti VPC
La modalità automatica di Amazon EKS implementa i nodi nelle sottoreti VPC. Quando si crea un cluster EKS, devi specificare le sottoreti VPC in cui verranno implementati i nodi. Puoi utilizzare le sottoreti VPC predefinite nel tuo AWS account o creare un VPC dedicato per carichi di lavoro critici.
-
AWS suggerisce di creare un VPC dedicato per il cluster. Informazioni su come Creazione di un Amazon VPC per il cluster Amazon EKS..
-
La console EKS aiuta a creare un nuovo VPC. Informazioni su come Crea un cluster di EKS Auto Mode con la Console di gestione AWS.
-
In alternativa, puoi utilizzare il VPC predefinito del tuo AWS account. Usa le seguenti istruzioni per trovare la IDs sottorete.
Utilizzo della AWS CLI:
-
Esegui il comando seguente per elencare il VPC di default e le relative sottoreti:
aws ec2 describe-subnets --filters "Name=vpc-id,Values=$(aws ec2 describe-vpcs --query 'Vpcs[?IsDefault==`true`].VpcId' --output text)" --query 'Subnets[*].{ID:SubnetId,AZ:AvailabilityZone}' --output table -
Salva l'output e annota la IDssottorete.
Output di esempio:
---------------------------------------- | DescribeSubnets | ---------------------------------------- | SubnetId | AvailabilityZone | |--------------------|---------------------| | subnet-012345678 | us-west-2a | | subnet-234567890 | us-west-2b | | subnet-345678901 | us-west-2c | ----------------------------------------
Ruoli IAM per cluster della modalità automatica di EKS
Ruolo IAM del cluster
EKS Auto Mode richiede un ruolo Cluster IAM per eseguire azioni nell' AWS account, come il provisioning di nuove EC2 istanze. È necessario creare questo ruolo per concedere a EKS le autorizzazioni necessarie. AWS consiglia di allegare le seguenti politiche AWS gestite al ruolo Cluster IAM:
Ruolo IAM del nodo
Quando creai un cluster della modalità automatica di EKS, specifichi un ruolo IAM del nodo. Quando EKS Auto Mode crea nodi per elaborare carichi di lavoro in sospeso, a ogni nuovo nodo di EC2 istanza viene assegnato il ruolo Node IAM. Questo ruolo consente al nodo di comunicare con EKS, ma in genere non è accessibile ai carichi di lavoro in esecuzione sul nodo.
Se desideri concedere le autorizzazioni ai carichi di lavoro in esecuzione su un nodo, usa EKS Pod Identity. Per ulteriori informazioni, consulta Informazioni su come EKS Pod Identity consente ai pod di accedere ai servizi AWS.
È necessario creare questo ruolo e allegare la seguente politica AWS gestita:
Ruolo collegato ai servizi
La modalità automatica di EKS richiede anche un ruolo collegato ai servizi, che viene creato e configurato automaticamente da AWS. Per ulteriori informazioni, consulta AWSServiceRoleForAmazonEKS.
Creazione di un ruolo IAM per un cluster della modalità automatica di EKS
Passaggio 1: creazione della policy di attendibilità
Crea una policy di attendibilità che consenta al servizio Amazon EKS di assumere tale ruolo. Salva la policy come trust-policy.json:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "eks.amazonaws.com" }, "Action": [ "sts:AssumeRole", "sts:TagSession" ] } ] }
Passaggio 2: creazione del ruolo IAM
Usa la policy di attendibilità per creare il ruolo IAM del cluster:
aws iam create-role \
--role-name AmazonEKSAutoClusterRole \
--assume-role-policy-document file://trust-policy.json
Passaggio 3: annotazione del ruolo ARN
Recupera e salva l’ARN del nuovo ruolo per usarlo nelle fasi successive:
aws iam get-role --role-name AmazonEKSAutoClusterRole --query "Role.Arn" --output text
Passaggio 4: collegamento delle policy obbligatorie
Allega le seguenti politiche AWS gestite al ruolo Cluster IAM per concedere le autorizzazioni necessarie:
EKSClusterPolitica di Amazon:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSClusterPolicy
EKSComputePolitica di Amazon:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSComputePolicy
Amazon EKSBlock StoragePolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSBlockStoragePolicy
Amazon EKSLoad BalancingPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSLoadBalancingPolicy
EKSNetworkingPolitica di Amazon:
aws iam attach-role-policy \ --role-name AmazonEKSAutoClusterRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSNetworkingPolicy
Creazione di un ruolo IAM per un nodo modalità automatica di EKS
Passaggio 1: creazione della policy di attendibilità
Crea una policy di attendibilità che consenta al servizio Amazon EKS di assumere tale ruolo. Salva la policy come node-trust-policy.json:
{ "Version":"2012-10-17", "Statement": [ { "Effect": "Allow", "Principal": { "Service": "ec2.amazonaws.com" }, "Action": "sts:AssumeRole" } ] }
Passaggio 2: creare il ruolo IAM del nodo
Utilizza il node-trust-policyfile.json del passaggio precedente per definire quali entità possono assumere il ruolo. Per creare il ruolo IAM del nodo, esegui il seguente comando:
aws iam create-role \
--role-name AmazonEKSAutoNodeRole \
--assume-role-policy-document file://node-trust-policy.json
Passaggio 3: annotazione del ruolo ARN
Una volta creato il ruolo, recupera e salva l’ARN del ruolo IAM del nodo. Sarà necessario usare questo ARN nei passaggi successivi. Usa il seguente comando per ottenere l’ARN:
aws iam get-role --role-name AmazonEKSAutoNodeRole --query "Role.Arn" --output text
Passaggio 4: collegamento delle policy obbligatorie
Allega le seguenti policy AWS gestite al ruolo Node IAM per fornire le autorizzazioni necessarie:
Amazon EKSWorker NodeMinimalPolicy:
aws iam attach-role-policy \ --role-name AmazonEKSAutoNodeRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEKSWorkerNodeMinimalPolicy
Amazon EC2 ContainerRegistryPullOnly:
aws iam attach-role-policy \ --role-name AmazonEKSAutoNodeRole \ --policy-arn arn:aws: iam::aws:policy/AmazonEC2ContainerRegistryPullOnly
Creazione di un cluster della modalità automatica di EKS
Panoramica di
Per creare un cluster EKS Auto Mode utilizzando la AWS CLI, sono necessari i seguenti parametri:
-
cluster-name: il nome del cluster. -
k8s-version: la versione di Kubernetes (ad esempio, 1.31). -
subnet-ids: sottorete IDs identificata nei passaggi precedenti. -
cluster-role-arn: ARN del ruolo IAM del cluster. -
node-role-arn: ARN del ruolo IAM del nodo.
Configurazioni predefinite del cluster
Esaminare questi valori e funzionalità predefiniti prima di creare il cluster:
-
nodePools: modalità automatica di EKS include pool di nodi generici e predefiniti di sistema. Maggiori informazioni sui Node Pools.
Nota: i pool di nodi in modalità automatica di EKS differiscono dai gruppi di nodi gestiti di Amazon EKS ma possono coesistere nello stesso cluster.
-
computeConfig.enabled: automatizza le attività di calcolo di routine, come la creazione e l'eliminazione di istanze. EC2 -
kubernetesNetworkConfig.elasticLoadBalancing.enabled: automatizza le attività di bilanciamento del carico, includendo la creazione e l’eliminazione dei bilanciatori del carico elastico. -
storageConfig.blockStorage.enabled: automatizza le attività di archiviazione, come la creazione e l’eliminazione di volumi Amazon EBS. -
accessConfig.authenticationMode: richiede voci di accesso EKS. Maggiori informazioni su EKS authentication modes.
Esegui il comando
Usa il comando seguente per creare il cluster:
aws eks create-cluster \ --region ${AWS_REGION} \ --cli-input-json \ "{ \"name\": \"${CLUSTER_NAME}\", \"version\": \"${K8S_VERSION}\", \"roleArn\": \"${CLUSTER_ROLE_ARN}\", \"resourcesVpcConfig\": { \"subnetIds\": ${SUBNETS_JSON}, \"endpointPublicAccess\": true, \"endpointPrivateAccess\": true }, \"computeConfig\": { \"enabled\": true, \"nodeRoleArn\":\"${NODE_ROLE_ARN}\", \"nodePools\": [\"general-purpose\", \"system\"] }, \"kubernetesNetworkConfig\": { \"elasticLoadBalancing\": { \"enabled\": true } }, \"storageConfig\": { \"blockStorage\": { \"enabled\": true } }, \"accessConfig\": { \"authenticationMode\": \"API\" } }
Verifica lo stato del cluster
Fase 1: verificare la creazione del cluster
Esegui il comando seguente per verificare lo stato del cluster. La creazione del cluster richiede in genere 15 minuti.
aws eks describe-cluster --name "${CLUSTER_NAME}" --output json
Fase 2: aggiornare kubeconfig
Una volta che il cluster è pronto, aggiorna il file kubeconfig locale per consentire a kubectl di comunicare con il cluster. Questa configurazione utilizza la AWS CLI per l'autenticazione.
aws eks update-kubeconfig --name "${CLUSTER_NAME}"
Fase 3: verificare i pool di nodi
Elenca i pool di nodi nel cluster con il comando seguente:
kubectl get nodepools
Fasi successive
-
Informazioni su deploy a sample workload nel nuovo cluster della modalità automatica di EKS.