Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Genom att anpassa nodkonfigurationen kan du justera operativsystemsinställningar (OS) eller kubelet-parametrar så att de matchar arbetsbelastningarnas behov. När du skapar ett AKS-kluster eller lägger till en nodpool i klustret kan du anpassa en delmängd av vanliga inställningar för operativsystem och kubelet. Om du vill konfigurera inställningar utöver den här delmängden använder du en daemonuppsättning för att anpassa nödvändiga konfigurationer utan att förlora AKS-stöd för noderna.
Förutsättningar
Eftersom tjänsten lägger till stöd för nya inställningar och kubelet-parametrar kan det kräva registrering av förhandsgranskningsfunktionsflagga. Om en förhandsgranskningsflagga krävs anropar referensen för konfigurationsparametrar för anpassade noder den.
Krav för förhandsversion för kubeReserved och hardEvictionThreshold kubelet-inställningar
Viktigt!
AKS-förhandsversionsfunktioner är tillgängliga via självbetjäning och frivillig registrering. Förhandsversioner tillhandahålls "i befintligt skick" och "i mån av tillgång," och de är undantagna från servicenivåavtal och begränsad garanti. AKS-förhandsversioner stöds delvis av kundsupport efter bästa förmåga. Därför är dessa funktioner inte avsedda för produktionsanvändning. Mer information finns i följande supportartiklar:
Installera tillägget aks-preview Azure CLI
Kör följande kommando för att installera aks-preview-tillägget:
az extension add --name aks-previewKör följande kommando för att uppdatera till den senaste versionen av tillägget:
az extension update --name aks-preview
Registrera funktionsflaggan CustomNodeConfigPreview i din Azure-prenumeration innan du använder förhandsgranskningskubeReserved- och hardEvictionThreshold kubelet-inställningarna.
Registrera funktionsflaggan CustomNodeConfigPreview
Registrera funktionsflaggan
CustomNodeConfigPreviewmed kommandotaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "CustomNodeConfigPreview"Det tar några minuter för statusen att visa Registrerad.
Verifiera registreringsstatusen
az feature showmed hjälp av kommandot .az feature show --namespace "Microsoft.ContainerService" --name "CustomNodeConfigPreview"När statusen visas Registrerad uppdaterar du registreringen av Microsoft. ContainerService-resursprovider med hjälp
az provider registerav kommandot .az provider register --namespace "Microsoft.ContainerService"
Skapa anpassade nodkonfigurationsfiler för AKS-nodpooler
Om du vill ändra konfigurationen av operativsystemet och kubelet skapar du en ny konfigurationsfil med de parametrar och inställningar som du vill använda. Om du inte anger något värde för en parameter används standardvärdet.
Kommentar
I följande exempel visas vanliga konfigurationsinställningar. Ändra inställningarna för att uppfylla dina arbetsbelastningskrav. En fullständig lista över anpassade konfigurationsparametrar som stöds finns i Konfigurationsparametrar för anpassade noder för AKS.
Kubelet-konfiguration
Skapa en linuxkubeletconfig.json fil med följande innehåll:
{
"cpuManagerPolicy": "static",
"cpuCfsQuota": true,
"cpuCfsQuotaPeriod": "200ms",
"imageGcHighThreshold": 90,
"imageGcLowThreshold": 70,
"topologyManagerPolicy": "best-effort",
"allowedUnsafeSysctls": [
"kernel.msg*",
"net.*"
],
"failSwapOn": false
}
Om du vill använda kubelet-inställningarna för förhandsversionen av Nodanpassning i Linux-nodpooler lägger du till kubeReserved och hardEvictionThreshold till kubelet-konfigurationsfilen. I följande exempel reserveras CPU och minne för Kubernetes-systemdaemoner och konfigurerar kubelet-tröskelvärden för hård borttagning:
{
"cpuManagerPolicy": "static",
"kubeReserved": {
"cpuMillicores": 200,
"memoryMB": 1024
},
"hardEvictionThreshold": {
"memoryAvailable": "20%",
"nodeFsAvailable": "10%",
"nodeFsInodesFree": "5%"
}
}
Använd kubeReserved och hardEvictionThreshold endast på Linux-nodpooler. Båda inställningarna kräver funktionsflaggan CustomNodeConfigPreview .
OS-konfiguration
Skapa en linuxosconfig.json fil med följande innehåll:
{
"transparentHugePageEnabled": "madvise",
"transparentHugePageDefrag": "defer+madvise",
"swapFileSizeMB": 1500,
"sysctls": {
"netCoreSomaxconn": 163849,
"netIpv4TcpTwReuse": true,
"netIpv4IpLocalPortRange": "32000 60000"
}
}
Skapa ett AKS-kluster med anpassade konfigurationsfiler
Kommentar
Tänk på följande när du använder anpassade konfigurationsfiler när du skapar ett nytt AKS-kluster:
- Om du anger en konfiguration när du skapar ett kluster gäller konfigurationen endast för noderna i den första nodpoolen. Klustret behåller standardvärden för alla inställningar som inte har konfigurerats i JSON-filen.
-
CustomLinuxOsConfigstöds inte för Windows-operativsystemtypen. - Förhandsgransknings
kubeReserved- ochhardEvictionThresholdkubelet-inställningarna stöds endast för Linux-nodpooler och kräver funktionsflagganCustomNodeConfigPreview. Slutför registreringsstegen i Förhandsversionskrav förkubeReservedochhardEvictionThresholdkubelet-inställningar innan du skapar klustret eller nodpoolen.
Skapa ett nytt kluster med anpassade konfigurationsfiler genom att köra az aks create kommandot och ange dina konfigurationsfiler för parametrarna --kubelet-config och --linux-os-config . Följande exempelkommando skapar ett nytt kluster med anpassade ./linuxkubeletconfig.json filer och ./linuxosconfig.json filer:
az aks create --name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json --linux-os-config ./linuxosconfig.json
Lägga till en nodpool med hjälp av anpassade konfigurationsfiler
Kommentar
Tänk på följande när du använder anpassade konfigurationsfiler för att lägga till en ny nodpool i ett befintligt AKS-kluster:
- När du lägger till en Linux-nodpool i ett befintligt kluster kan du ange kubelet-konfigurationen, OS-konfigurationen eller båda. När du lägger till en Windows-nodpool i ett befintligt kluster kan du bara ange kubelet-konfigurationen. Om du anger en konfiguration när du lägger till en nodpool gäller konfigurationen endast för noderna i den nya nodpoolen. Nodpoolen behåller standardvärden för alla inställningar som inte har konfigurerats i JSON-filen.
-
CustomKubeletConfigstöds för Linux- och Windows-nodpooler. - Förhandsgransknings
kubeReserved- ochhardEvictionThresholdkubelet-inställningarna stöds endast för Linux-nodpooler och kräver funktionsflagganCustomNodeConfigPreview. Slutför registreringsstegen i förhandsversionskrav förkubeReservedochhardEvictionThresholdkubelet-inställningar innan du skapar klustret eller nodpoolen.
Skapa en ny Linux-nodpool med hjälp az aks nodepool add av kommandot och ange dina konfigurationsfiler för parametrarna --kubelet-config och --linux-os-config . Följande exempelkommando skapar en ny Linux-nodpool med den anpassade ./linuxkubeletconfig.json filen:
az aks nodepool add --name <node-pool-name> --cluster-name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json
Bekräfta att inställningarna har tillämpats
När du har tillämpat anpassad nodkonfiguration kan du bekräfta att inställningarna som tillämpats på noderna är korrekt genom att ansluta till värddatorn och verifiera om konfigurationsändringar har gjorts i filsystemet.
Granska anpassade konfigurationsparametrar som stöds
Den fullständiga listan över kubelet- och Linux OS-konfigurationsparametrar som stöds, tillåtna värden, standardvärden och beskrivningar finns i Konfigurationsparametrar för anpassade noder för AKS.
Överväganden för anpassade nodkonfigurationer
Tänk på följande när du anpassar nodkonfigurationen:
- Nodbilduppgraderingar återanvänder anpassade nodkonfigurationer.
- Utskalningsåtgärder bevarar anpassade nodkonfigurationer.
- AKS utför inte validering före flygning för varje konfigurationsparameter eller värde för anpassad nod. Kontrollera att de anpassade nodkonfigurationsparametrar och värden som du anger stöds och är giltiga för att undvika potentiella problem med dina klusternoder.
- Förhandsversionen
kubeReservedochhardEvictionThresholdinställningarna är endast tillgängliga i Linux-nodpooler. - Om du konfigurerar
kubeReservedmåste värdena vara positiva och får inte överskrida den tillgängliga processor- eller minneskapaciteten i målnodpoolen. - Om du konfigurerar
hardEvictionThresholdanvänder du endast de enheter som stöds:Ki,Mi,Gi, eller%förmemoryAvailableochnodeFsAvailable, och ett rånummer eller%förnodeFsInodesFree. - Standardvärden för anpassade nodkonfigurationsparametrar ändras ofta med nya operativsystemversioner. När du använder anpassade nodkonfigurationer granskar du standardvärdena för de parametrar som du konfigurerar för att säkerställa att dina anpassade inställningar är lämpliga för operativsystemversionen av dina klusternoder.
- Begränsa antalet personer som har behörighet att ändra konfigurationen för anpassade noder för att förhindra oavsiktliga konsekvenser för klusterstabilitet och prestanda. Överväg att använda Microsoft Entra ID-auktorisering för Kubernetes API för att begränsa åtkomsten till konfigurationsinställningar för kluster.
- Avgränsa nodpooler med anpassade konfigurationer från dem utan anpassade konfigurationer för att förhindra oavsiktliga konsekvenser för arbetsbelastningar som kan vara känsliga för vissa konfigurationsändringar. Om du till exempel har en kritisk arbetsbelastning som kräver specifika kubelet-inställningar bör du överväga att isolera arbetsbelastningen till en dedikerad nodpool med nödvändig anpassad kubelet-konfiguration.
Relaterat innehåll
- Lär dig hur du konfigurerar ditt AKS-kluster.
- Lär dig hur du uppgraderar nodavbildningarna i klustret.
- Se Uppgradera ett AKS-kluster (Azure Kubernetes Service) för att lära dig hur du uppgraderar klustret till den senaste versionen av Kubernetes.
- Se listan med vanliga frågor och svar om AKS för att hitta svar på några vanliga AKS-frågor.