Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Personalizzando la configurazione del nodo, è possibile modificare le impostazioni del sistema operativo o i parametri kubelet in base alle esigenze dei carichi di lavoro. Quando si crea un cluster nel servizio Azure Kubernetes o si aggiunge un pool di nodi al cluster, è possibile personalizzare un subset di impostazioni del sistema operativo e kubelet di uso comune. Per configurare impostazioni che vanno oltre questo sottoinsieme, usa un DaemonSet per personalizzare le configurazioni richieste senza perdere il supporto di AKS per i tuoi nodi.
Prerequisiti
Poiché il servizio introduce il supporto a nuove impostazioni e parametri kubelet, potrebbe essere necessaria la registrazione del flag di funzionalità di anteprima. Se è necessario un flag di anteprima, il riferimento dei parametri di configurazione del nodo personalizzato lo indica.
Le impostazioni kubeReserved, softEvictionThreshold, hardEvictionThreshold, softEvictionGracePeriod e evictionMaxPodGracePeriodInSeconds di kubelet sono in anteprima e richiedono il flag della funzionalità CustomNodeConfigPreview. Queste impostazioni consentono di personalizzare le prenotazioni delle risorse e le soglie di espulsione, configurate anche da AKS Node Hardening. Per i passaggi di registrazione, i valori predefiniti e gli esempi, vedere Node Hardening (preview) in AKS.
Crea file di configurazione dei nodi personalizzati per i pool di nodi AKS
Per modificare la configurazione del sistema operativo e kubelet, creare un nuovo file di configurazione con i parametri e le impostazioni desiderati. Se non si specifica un valore per un parametro, viene usato il valore predefinito.
Note
Gli esempi seguenti illustrano le impostazioni di configurazione comuni. Modificare le impostazioni per soddisfare i requisiti del carico di lavoro. Per l'elenco completo dei parametri di configurazione personalizzati supportati, vedere Parametri di configurazione dei nodi personalizzati per il servizio Azure Kubernetes.
Configurazione del kubelet
Creare un file linuxkubeletconfig.json con i contenuti seguenti:
{
"cpuManagerPolicy": "static",
"cpuCfsQuota": true,
"cpuCfsQuotaPeriod": "200ms",
"imageGcHighThreshold": 90,
"imageGcLowThreshold": 70,
"topologyManagerPolicy": "best-effort",
"allowedUnsafeSysctls": [
"kernel.msg*",
"net.*"
],
"failSwapOn": false
}
Per personalizzare le risorse kube-reserved e le soglie di espulsione nei pool di nodi Linux, vedere Personalizzare le impostazioni di protezione avanzata del nodo.
Configurazione sistema operativo
Creare un file linuxosconfig.json con i contenuti seguenti:
{
"transparentHugePageEnabled": "madvise",
"transparentHugePageDefrag": "defer+madvise",
"swapFileSizeMB": 1500,
"sysctls": {
"netCoreSomaxconn": 163849,
"netIpv4TcpTwReuse": true,
"netIpv4IpLocalPortRange": "32000 60000"
}
}
Creare un cluster di Azure Kubernetes Service usando file di configurazione personalizzati
Note
Tenere presenti le informazioni seguenti quando si usano file di configurazione personalizzati durante la creazione di un nuovo cluster del servizio Azure Kubernetes:
- Se si specifica una configurazione durante la creazione di un cluster, la configurazione si applica solo ai nodi nel pool di nodi iniziale. Il cluster mantiene i valori predefiniti per tutte le impostazioni non configurate nel file JSON.
-
CustomLinuxOsConfignon è supportato per il tipo di sistema operativo Windows. - Le impostazioni kubelet di anteprima
kubeReservede della soglia di espulsione sono supportate solo per i pool di nodi Linux e richiedono il flag di funzionalitàCustomNodeConfigPreview. Per i passaggi di registrazione, vedere Node Hardening (anteprima) in AKS.
Creare un nuovo cluster usando file di configurazione personalizzati eseguendo il az aks create comando e specificando i file di configurazione per i --kubelet-config parametri e --linux-os-config . Il comando di esempio seguente crea un nuovo cluster con i file ./linuxkubeletconfig.jsone ./linuxosconfig.json personalizzati:
az aks create --name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json --linux-os-config ./linuxosconfig.json
Aggiungere un pool di nodi usando file di configurazione personalizzati
Note
Tenere presenti le informazioni seguenti quando si usano file di configurazione personalizzati per aggiungere un nuovo pool di nodi a un cluster del servizio Azure Kubernetes esistente:
- Quando si aggiunge un pool di nodi Linux a un cluster esistente, è possibile specificare la configurazione kubelet, la configurazione del sistema operativo o entrambi. Quando si aggiunge un pool di nodi Windows a un cluster esistente, è possibile specificare solo la configurazione kubelet. Se si specifica una configurazione quando si aggiunge un pool di nodi, la configurazione si applica solo ai nodi nel nuovo pool di nodi. Il pool di nodi mantiene i valori predefiniti per tutte le impostazioni non configurate nel file JSON.
-
CustomKubeletConfigè supportato per i pool di nodi Linux e Windows. - Le impostazioni kubelet di anteprima
kubeReservede della soglia di espulsione sono supportate solo per i pool di nodi Linux e richiedono il flag di funzionalitàCustomNodeConfigPreview. Per i passaggi di registrazione, vedere Node Hardening (anteprima) in AKS.
Creare un nuovo pool di nodi Linux usando il az aks nodepool add comando e specificando i file di configurazione per i --kubelet-config parametri e --linux-os-config . Il comando di esempio seguente crea un nuovo pool di nodi Linux con il file personalizzato ./linuxkubeletconfig.json :
az aks nodepool add --name <node-pool-name> --cluster-name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json
Confermare l'applicazione delle impostazioni
Dopo aver applicato la configurazione personalizzata dei nodi, è possibile verificare che le impostazioni siano state applicate ai nodi connettendosi all'host e verificando sysctl o modificando la configurazione nel file system.
Esaminare i parametri di configurazione personalizzati supportati
Per l'elenco completo dei parametri di configurazione del sistema operativo Kubelet e Linux supportati, dei valori consentiti, delle impostazioni predefinite e delle descrizioni, vedere Parametri di configurazione dei nodi personalizzati per il servizio Azure Kubernetes.
Considerazioni sulle configurazioni dei nodi personalizzate
Quando si personalizza la configurazione del nodo, tenere presenti le considerazioni seguenti:
- Gli aggiornamenti delle immagini dei nodi riapplicano le configurazioni personalizzate dei nodi.
- Le operazioni di scalabilità orizzontale mantengono le configurazioni personalizzate dei nodi.
- AKS non esegue la convalida preliminare per ogni parametro o valore della configurazione personalizzata del nodo. Assicurarsi che i parametri e i valori di configurazione del nodo personalizzati specificati siano supportati e validi per evitare potenziali problemi con i nodi del cluster.
- Le impostazioni kubelet in anteprima
kubeReservede della soglia di espulsione sono disponibili solo nei pool di nodi Linux. Se vengono configurati, usare gli intervalli, le unità e le regole di associazione supportati nel riferimento ai parametri di configurazione del nodo personalizzato. - I valori predefiniti per i parametri di configurazione dei nodi personalizzati spesso cambiano con le nuove versioni del sistema operativo. Quando si applicano configurazioni di nodi personalizzate, esaminare i valori predefiniti per i parametri che si sta configurando per assicurarsi che le impostazioni personalizzate siano appropriate per la versione del sistema operativo dei nodi del cluster.
- Limitare il numero di persone che dispongono delle autorizzazioni per modificare la configurazione del nodo personalizzata per evitare conseguenze impreviste sulla stabilità e sulle prestazioni del cluster. Prendere in considerazione l'uso dell'autorizzazione Microsoft Entra ID per l'API Kubernetes al fine di limitare l'accesso alle impostazioni di configurazione del cluster.
- Separare i pool di nodi con configurazioni personalizzate da quelle senza configurazioni personalizzate per evitare conseguenze impreviste sui carichi di lavoro che potrebbero essere sensibili a determinate modifiche alla configurazione. Ad esempio, se si dispone di un carico di lavoro critico che richiede impostazioni kubelet specifiche, prendere in considerazione l'isolamento del carico di lavoro in un pool di nodi dedicato con la configurazione kubelet personalizzata necessaria.
Contenuti correlati
- Informazioni su come configurare il cluster del servizio Azure Kubernetes.
- Informazioni su come aggiornare le immagini del nodo nel cluster.
- Per informazioni su come aggiornare il cluster alla versione più recente di Kubernetes, vedere Aggiornare un cluster del servizio Azure Kubernetes.
- Per trovare le risposte ad alcune domande comuni su AKS, vedere l'elenco delle domande frequenti su AKS.