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 su che si trova 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à.
Configurazione dei parametri avanzati del piano di controllo Kubernetes
Questa guida illustra l'impostazione e la visualizzazione dei parametri avanzati del piano di controllo Kubernetes utilizzando la CLI e. AWS Console di gestione AWS Per una spiegazione di ciascun parametro e del relativo effetto sul cluster, consulta. Configurazione avanzata del piano di controllo Kubernetes
Prerequisiti
Prima di iniziare, assicurati di avere:
-
Un cluster Amazon EKS con Kubernetes versione 1.31 o successiva: la configurazione avanzata del piano di controllo Kubernetes è supportata su cluster nuovi ed esistenti che eseguono Kubernetes versione 1.31 o successiva. Tutti i parametri di questo argomento condividono questa versione minima.
-
AWS CLI: uno strumento a riga di comando per lavorare con AWS servizi, incluso Amazon EKS. Per ulteriori informazioni, consulta la Guida utente all'installazione nell'interfaccia a riga di AWS comando. Dopo aver installato la AWS CLI, ti consigliamo di configurarla anche tu. Per ulteriori informazioni, consulta Configurazione rapida con aws configure nella Guida per l'utente dell'interfaccia a riga di AWS comando.
-
Autorizzazioni IAM richieste: il principale IAM che stai utilizzando deve disporre delle autorizzazioni per descrivere e aggiornare i cluster Amazon EKS. Per verificare l'entità corrente, esegui il comando seguente:
aws sts get-caller-identity
Nota
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 Utilizzo delle virgolette con stringhe nella AWS CLI nella Guida per l'utente dell'interfaccia a riga di AWS comando.
Imposta il nome e la regione del cluster preferiti prima di eseguire i comandi in questo argomento:
export CLUSTER=my-eks-cluster export AWS_REGION=us-west-2
Valori supportati
Amazon EKS convalida ogni parametro rispetto ai seguenti intervalli e rifiuta una richiesta al di fuori di essi.
| Parametro del componente | Valori supportati | Predefinita |
|---|---|---|
|
|
|
|
|
|
Da |
|
|
|
Da |
|
|
|
Da |
|
|
|
Da |
|
|
|
Da |
|
|
|
Da |
|
Questi valori si applicano alle versioni di Kubernetes disponibili al momento della pubblicazione e possono cambiare nelle versioni successive. Per recuperare i valori correnti per una versione specifica, consulta la sezione seguente.
Trova i valori predefiniti e supportati per una versione di Kubernetes
L'DescribeClusterVersionsoperazione riporta il valore predefinito e i valori supportati per ogni parametro del piano di controllo, per ogni versione di Kubernetes. Leggi i valori di questa operazione anziché codificarli, in particolare se automatizzi la configurazione dei cluster o gestisci i cluster in diverse versioni di Kubernetes.
aws eks describe-cluster-versions --cluster-versions 1.35
La risposta include un controlPlaneComponentConfig oggetto, organizzato per componente del piano di controllo. Ogni parametro riporta un defaultValue constraints oggetto:
{ "clusterVersions": [ { "clusterVersion": "1.35", "clusterType": "eks", "defaultVersion": false, "releaseDate": "2026-01-23T00:00:00+00:00", "endOfStandardSupportDate": "2027-03-23T00:00:00+00:00", "endOfExtendedSupportDate": "2028-03-23T00:00:00+00:00", "status": "STANDARD_SUPPORT", "controlPlaneScalingTiers": [ { "tierName": "tier-xl", "apiRequestConcurrency": 2000, "podSchedulingRatePerSecond": 167, "clusterDatabaseSizeGb": 16 }, { "tierName": "tier-2xl", "apiRequestConcurrency": 4000, "podSchedulingRatePerSecond": 283, "clusterDatabaseSizeGb": 16 }, { "tierName": "tier-4xl", "apiRequestConcurrency": 8000, "podSchedulingRatePerSecond": 400, "clusterDatabaseSizeGb": 16 }, { "tierName": "tier-8xl", "apiRequestConcurrency": 16000, "podSchedulingRatePerSecond": 400, "clusterDatabaseSizeGb": 16 } ], "controlPlaneComponentConfig": { "kubeApiServerConfig": { "eventTtl": { "defaultValue": "60m", "constraints": { "min": "10m", "max": "60m" } }, "serviceNodePortRange": { "defaultValue": { "minPort": 30000, "maxPort": 32767 }, "constraints": { "minPort": {"min": 10260, "max": 32767}, "maxPort": {"min": 10260, "max": 32767} } } }, "kubeSchedulerConfig": { "nodeResourcesFit": { "scoringStrategy": { "defaultValue": { "type": "LeastAllocated", "resources": [ {"name": "cpu", "weight": 1}, {"name": "memory", "weight": 1} ] }, "constraints": { "scoringStrategy": { "allowedValues": ["LeastAllocated", "MostAllocated"] }, "resources": { "name": { "allowedValues": [ "cpu", "memory", "nvidia.com/gpu", "aws.amazon.com/neuron", "aws.amazon.com/neuroncore" ] }, "weight": {"min": 1, "max": 100} } } } } }, "kubeControllerManagerConfig": { "horizontalPodAutoscalerControllerConfig": { "horizontalPodAutoscalerSyncPeriod": { "defaultValue": "15s", "constraints": { "min": "10s", "max": "15s" } } }, "podGcControllerConfig": { "terminatedPodGcThreshold": { "defaultValue": 12500, "constraints": { "min": 10000, "max": 12500 } } } } } } ] }
La risposta precedente mostra le date di supporto della versione, i livelli di scalabilità del Provisioned Control Plane e i campi di configurazione del piano di controllo. Per ulteriori informazioni, consulta Amazon EKS DescribeClusterVersions API Reference.
Per restituire solo i campi di configurazione, utilizza l'--queryopzione:
aws eks describe-cluster-versions --cluster-versions 1.35 \ --query 'clusterVersions[0].controlPlaneComponentConfig'
Configurazione del piano di controllo — AWS CLI
Ogni componente del piano di controllo ha il proprio parametro:--kube-scheduler-config,--kube-controller-manager-config, e--kube-api-server-config. Specificate solo i componenti da personalizzare. Ogni parametro accetta JSON in linea.
Crea un cluster con i parametri del piano di controllo
Il comando seguente crea un cluster che conserva i nuovi eventi Kubernetes per 10 minuti invece dei 60 minuti predefiniti. I parametri che non specifichi utilizzano i loro valori predefiniti.
aws eks create-cluster \ --name "$CLUSTER" \ --kubernetes-version 1.35 \ --role-arn arn:aws:iam::111122223333:role/eks-service-role \ --resources-vpc-config subnetIds=subnet-abc123,subnet-def456,securityGroupIds=sg-xyz789 \ --kube-api-server-config '{ "eventTtl": "10m" }'
Risposta:
{ "cluster": { "name": "my-eks-cluster", "arn": "arn:aws:eks:us-west-2:111122223333:cluster/my-eks-cluster", "createdAt": 1709640000.0, "version": "1.35", "roleArn": "arn:aws:iam::111122223333:role/eks-service-role", "status": "CREATING", "kubeSchedulerConfig": { "nodeResourcesFit": { "scoringStrategy": { "type": "LeastAllocated" } } }, "kubeControllerManagerConfig": { "horizontalPodAutoscalerControllerConfig": { "horizontalPodAutoscalerSyncPeriod": "15s" } }, "kubeApiServerConfig": { "eventTtl": "10m", "serviceNodePortRange": { "minPort": 30000, "maxPort": 32767 } } } }
Visualizza la configurazione del piano di controllo per un cluster
aws eks describe-cluster --name "$CLUSTER"
La risposta include kubeSchedulerConfigkubeControllerManagerConfig, e kubeApiServerConfig come campi di primo livello. Questi campi sono sempre presenti e mostrano la configurazione completa in esecuzione sul piano di controllo, inclusi i parametri non personalizzati e i relativi valori predefiniti.
Per restituire la configurazione per un singolo componente, usa l'--queryopzione:
aws eks describe-cluster --name "$CLUSTER" \ --query 'cluster.kubeSchedulerConfig'
Risposta:
{ "nodeResourcesFit": { "scoringStrategy": { "type": "LeastAllocated" } } }
Configura la strategia di punteggio dello scheduler
Per impostazione predefinita, lo scheduler utilizza la LeastAllocated strategia, che distribuisce i pod tra i nodi. Il comando seguente lo modifica inMostAllocated, che preferisce i nodi che hanno già un'allocazione di risorse più elevata e impacchetta i pod su un numero inferiore di nodi.
aws eks update-cluster-config \ --name "$CLUSTER" \ --kube-scheduler-config '{ "nodeResourcesFit": { "scoringStrategy": { "type": "MostAllocated" } } }'
Risposta:
{ "update": { "id": "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111", "status": "InProgress", "type": "ControlPlaneComponentConfigUpdate", "params": [ { "type": "kubeSchedulerConfig", "value": "{\"nodeResourcesFit\":{\"scoringStrategy\":{\"type\":\"MostAllocated\"}}}" } ], "createdAt": 1709643600.0, "errors": [] } }
È inoltre possibile specificare un resources array per valutare le singole risorse nel calcolo del punteggio, utile quando il vincolo del cluster è una risorsa specifica. Per ulteriori informazioni, consulta Configurazione avanzata del piano di controllo Kubernetes.
Gli altri parametri del piano di controllo seguono lo stesso schema, ognuno con il proprio flag di componente: --kube-api-server-config per eventTtl e e serviceNodePortRange per il periodo di sincronizzazione di Horizontal Pod Autoscaler. --kube-controller-manager-config Per sapere cosa fa ogni parametro e cosa considerare prima di modificarlo, vedi. Configurazione avanzata del piano di controllo Kubernetes
Aggiorna più di un componente alla volta
È possibile specificare più parametri dei componenti in una singola chiamata:
aws eks update-cluster-config \ --name "$CLUSTER" \ --kube-scheduler-config '{"nodeResourcesFit":{"scoringStrategy":{"type":"MostAllocated"}}}' \ --kube-api-server-config '{"eventTtl":"30m"}'
Gli aggiornamenti si fondono con la configurazione esistente. Solo i campi specificati vengono modificati e i campi omessi mantengono i valori correnti. Il comando precedente lascia invariata la configurazione del controller manager.
Monitora l'aggiornamento della configurazione del piano di controllo
Una modifica della configurazione non è effettiva al momento della update-cluster-config restituzione. Amazon EKS applica la nuova configurazione tramite un aggiornamento continuo del piano di controllo, che richiede diversi minuti. Per bloccare fino al completamento della modifica:
aws eks wait cluster-active --name "$CLUSTER"
Questo comando viene restituito quando il cluster raggiunge ACTIVE lo stato, in genere entro alcuni minuti.
Per elencare gli aggiornamenti per il cluster:
aws eks list-updates --name "$CLUSTER"
Risposta:
{ "updateIds": [ "a1b2c3d4-5678-90ab-cdef-EXAMPLE11111" ] }
Per visualizzare lo stato di un aggiornamento specifico:
aws eks describe-update --name "$CLUSTER" \ --update-id a1b2c3d4-5678-90ab-cdef-EXAMPLE11111
Lo stato cambia da InProgress a Successful quando viene completato l'aggiornamento o a Failed se si verifica un errore. Il errors campo indica il motivo dell'errore.
Configurazione del piano di controllo: Console di gestione AWS
Per configurare i parametri avanzati del piano di controllo Kubernetes durante la creazione di un cluster:
-
Aprire la Console Amazon EKS
. -
Scegli Crea cluster.
-
In Opzioni di configurazione, seleziona Configurazione personalizzata.
-
Scorri verso il basso fino a Configurazione del piano di controllo.
-
Scegli Abilita configurazione del piano di controllo.
-
Imposta i parametri che desideri configurare. I parametri che lasci invariati utilizzano i loro valori predefiniti.
-
Seleziona altre opzioni di configurazione del cluster in base alle esigenze. Nel passaggio finale, scegli Crea cluster. Il completamento della creazione del cluster potrebbe richiedere alcuni minuti.
Per configurare i parametri avanzati del piano di controllo Kubernetes su un cluster esistente:
-
Aprire la Console Amazon EKS
. -
Scegli il cluster che desideri aggiornare.
-
Scegli la scheda Panoramica, quindi scorri verso il basso fino a Configurazione del piano di controllo.
-
Scegliete Gestisci, quindi selezionate Abilita configurazione del piano di controllo per impostare i parametri da modificare. Selezionare quindi Save changes (Salva modifiche).