

 **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
<a name="control-plane-configuration-getting-started"></a>

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](control-plane-configuration.md)

## Prerequisiti
<a name="_prerequisites"></a>

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 ](https://docs.aws.amazon.com/cli/latest/userguide/cli-chap-install.html) 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 ](https://docs.aws.amazon.com/cli/latest/userguide/cli-configure-quickstart.html#cli-configure-quickstart-config) 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 ](https://docs.aws.amazon.com/cli/latest/userguide/cli-usage-parameters-quoting-strings.html) 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
<a name="_supported_values"></a>

Amazon EKS convalida ogni parametro rispetto ai seguenti intervalli e rifiuta una richiesta al di fuori di essi.


| Parametro del componente | Valori supportati | Predefinita | 
| --- | --- | --- | 
|  `kubeSchedulerConfig.nodeResourcesFit.scoringStrategy.type`  |  `LeastAllocated`, `MostAllocated`  |  `LeastAllocated`  | 
|  `kubeSchedulerConfig.nodeResourcesFit.scoringStrategy.resources[].weight`  |  Da `1` a `100`  |  `cpu: 1`, `memory: 1`  | 
|  `kubeControllerManagerConfig.horizontalPodAutoscalerControllerConfig.horizontalPodAutoscalerSyncPeriod`  |  Da `10s` a `15s`  |  `15s`  | 
|  `kubeControllerManagerConfig.podGcControllerConfig.terminatedPodGcThreshold`  |  Da `10000` a `12500`  |  `12500`  | 
|  `kubeApiServerConfig.eventTtl`  |  Da `10m` a `60m`  |  `60m`  | 
|  `kubeApiServerConfig.serviceNodePortRange.minPort`  |  Da `10260` a `32767`  |  `30000`  | 
|  `kubeApiServerConfig.serviceNodePortRange.maxPort`  |  Da `10260` a `32767`  |  `32767`  | 

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
<a name="_find_the_defaults_and_supported_values_for_a_kubernetes_version"></a>

L'`DescribeClusterVersions`operazione 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 ](https://docs.aws.amazon.com/eks/latest/APIReference/API_DescribeClusterVersions.html) API Reference. *

Per restituire solo i campi di configurazione, utilizza l'`--query`opzione:

```
aws eks describe-cluster-versions --cluster-versions 1.35 \
--query 'clusterVersions[0].controlPlaneComponentConfig'
```

## Configurazione del piano di controllo — AWS CLI
<a name="control_plane_configuration_shared_aws_cli"></a>

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
<a name="_create_a_cluster_with_control_plane_parameters"></a>

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
<a name="_view_the_control_plane_configuration_for_a_cluster"></a>

```
aws eks describe-cluster --name "$CLUSTER"
```

La risposta include `kubeSchedulerConfig``kubeControllerManagerConfig`, 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'`--query`opzione:

```
aws eks describe-cluster --name "$CLUSTER" \
--query 'cluster.kubeSchedulerConfig'
```

Risposta:

```
{
    "nodeResourcesFit": {
        "scoringStrategy": {
            "type": "LeastAllocated"
        }
    }
}
```

### Configura la strategia di punteggio dello scheduler
<a name="_configure_the_scheduler_scoring_strategy"></a>

Per impostazione predefinita, lo scheduler utilizza la `LeastAllocated` strategia, che distribuisce i pod tra i nodi. Il comando seguente lo modifica in`MostAllocated`, 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](control-plane-configuration.md).

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](control-plane-configuration.md)

### Aggiorna più di un componente alla volta
<a name="_update_more_than_one_component_at_a_time"></a>

È 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
<a name="_monitor_a_control_plane_configuration_update"></a>

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
<a name="control_plane_configuration_shared_consolelong"></a>

Per configurare i parametri avanzati del piano di controllo Kubernetes durante la creazione di un cluster:

1. Aprire la [Console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Scegli **Crea cluster**.

1. In *Opzioni di configurazione*, seleziona **Configurazione personalizzata**.

1. Scorri verso il basso fino a Configurazione del piano di ** controllo. **

1. Scegli ** Abilita configurazione del piano di controllo**.

1. Imposta i parametri che desideri configurare. I parametri che lasci invariati utilizzano i loro valori predefiniti.

1. 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:

1. Aprire la [Console Amazon EKS](https://console.aws.amazon.com/eks/home#/clusters).

1. Scegli il cluster che desideri aggiornare.

1. Scegli la ** scheda ** Panoramica, quindi scorri verso il basso fino a Configurazione ** del piano di controllo**.

1. Scegliete ** Gestisci**, quindi selezionate ** Abilita configurazione del piano di controllo ** per impostare i parametri da modificare. Selezionare quindi **Save changes (Salva modifiche)**.