Přizpůsobte konfiguraci uzlů pro fondy uzlů služby Azure Kubernetes (AKS)

Přizpůsobením konfigurace uzlu můžete upravit nastavení operačního systému (OS) nebo parametry kubeletu tak, aby odpovídaly potřebám vašich úloh. Když vytvoříte cluster AKS nebo do clusteru přidáte fond uzlů, můžete přizpůsobit podmnožinu běžně používaných nastavení operačního systému a kubeletu. Pokud chcete nakonfigurovat nastavení nad rámec této podmnožiny, použijte objekt DaemonSet k přizpůsobení požadované konfigurace, aniž byste přišli o podporu AKS pro své uzly.

Předpoklady

Jak služba přidává podporu pro nová nastavení a parametry služby kubelet, může být vyžadována registrace příznaku funkce ve verzi Preview. Pokud se vyžaduje příznak preview, odkaz na parametry konfigurace vlastního uzlu ho zavolá.

Nastavení kubelet kubeReserved, softEvictionThreshold, hardEvictionThreshold, softEvictionGracePeriod a evictionMaxPodGracePeriodInSeconds jsou ve verzi Preview a vyžadují příznak funkce CustomNodeConfigPreview. Tato nastavení umožňují přizpůsobit rezervace prostředků a prahové hodnoty vytěsnění, které jsou také nakonfigurované pomocí AKS Node Hardening. Postup registrace, výchozí hodnoty a příklady najdete v tématu Posílení zabezpečení uzlu (Preview) v AKS.

Vytvoření uživatelsky definovaných konfiguračních souborů uzlů pro fondy uzlů AKS

Pokud chcete změnit konfiguraci operačního systému a kubeletu, vytvořte nový konfigurační soubor s požadovanými parametry a nastavením. Pokud nezadáte hodnotu parametru, použije se výchozí hodnota.

Poznámka:

Následující příklady ukazují běžná nastavení konfigurace. Upravte nastavení tak, aby splňovala vaše požadavky na úlohy. Úplný seznam podporovaných vlastních parametrů konfigurace najdete v tématu Vlastní parametry konfigurace uzlu pro AKS.

Konfigurace Kubeletu

Vytvořte linuxkubeletconfig.json soubor s následujícím obsahem:

{
 "cpuManagerPolicy": "static",
 "cpuCfsQuota": true,
 "cpuCfsQuotaPeriod": "200ms",
 "imageGcHighThreshold": 90,
 "imageGcLowThreshold": 70,
 "topologyManagerPolicy": "best-effort",
 "allowedUnsafeSysctls": [
  "kernel.msg*",
  "net.*"
],
 "failSwapOn": false
}

Informace o přizpůsobení prostředků vyhrazených pro kube a prahů evikce ve fondech uzlů s Linuxem najdete v tématu Přizpůsobení nastavení hardeningu uzlů.

Konfigurace operačního systému

Vytvořte linuxosconfig.json soubor s následujícím obsahem:

{
 "transparentHugePageEnabled": "madvise",
 "transparentHugePageDefrag": "defer+madvise",
 "swapFileSizeMB": 1500,
 "sysctls": {
  "netCoreSomaxconn": 163849,
  "netIpv4TcpTwReuse": true,
  "netIpv4IpLocalPortRange": "32000 60000"
 }
}

Vytvoření clusteru AKS pomocí vlastních konfiguračních souborů

Poznámka:

Při používání vlastních konfiguračních souborů při vytváření nového clusteru AKS mějte na paměti následující informace:

  • Pokud při vytváření clusteru zadáte konfiguraci, konfigurace se vztahuje pouze na uzly v počátečním fondu uzlů. Cluster uchovává výchozí hodnoty pro všechna nastavení, která nejsou nakonfigurovaná v souboru JSON.
  • CustomLinuxOsConfig není podporován pro typ operačního systému Windows.
  • Nastavení kubelet pro prahové hodnoty náhledu kubeReserved a vyřazení jsou podporována pouze pro fondy uzlů Linuxu a vyžadují příznak funkce CustomNodeConfigPreview. Postup registrace najdete v tématu Posílení zabezpečení uzlu (Preview) v AKS.

Spusťte příkaz az aks create a zadejte své konfigurační soubory pro parametry --linux-os-config a --kubelet-config. Tím vytvoříte nový cluster pomocí vlastních konfiguračních souborů. Následující ukázkový příkaz vytvoří nový cluster s vlastními ./linuxkubeletconfig.json soubory a ./linuxosconfig.json soubory:

az aks create --name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json --linux-os-config ./linuxosconfig.json

Přidání fondu uzlů pomocí vlastních konfiguračních souborů

Poznámka:

Při použití vlastních konfiguračních souborů pro přidání nového fondu uzlů do existujícího clusteru AKS mějte na paměti následující informace:

  • Když do existujícího clusteru přidáte fond uzlů Linuxu, můžete zadat konfiguraci kubeletu, konfiguraci operačního systému nebo obojí. Když do existujícího clusteru přidáte fond uzlů Windows, můžete zadat pouze konfiguraci kubeletu. Pokud při přidávání fondu uzlů zadáte konfiguraci, konfigurace se vztahuje pouze na uzly v novém fondu uzlů. Fond uzlů uchovává výchozí hodnoty pro všechna nastavení, která nejsou nakonfigurovaná v souboru JSON.
  • CustomKubeletConfig podporuje fondy uzlů Linuxu a Windows.
  • Nastavení kubeletu pro náhled kubeReserved a práh vyřazení jsou podporována pouze pro fondy uzlů Linuxu a vyžadují příznak funkce CustomNodeConfigPreview. Postup registrace najdete v tématu Posílení zabezpečení uzlu (Preview) v AKS.

Vytvořte nový fond uzlů Linux pomocí příkazu az aks nodepool add a zadejte konfigurační soubory pro parametry --kubelet-config a --linux-os-config. Následující ukázkový příkaz vytvoří nový fond uzlů Linuxu s vlastním ./linuxkubeletconfig.json souborem:

az aks nodepool add --name <node-pool-name> --cluster-name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json

Potvrzení použití nastavení

Po použití vlastní konfigurace uzlu můžete potvrdit, že byla nastavení použita na uzly připojením k hostiteli a ověřením, zda byla provedena sysctl změna konfigurace v systému souborů.

Kontrola podporovaných vlastních parametrů konfigurace

Úplný seznam podporovaných parametrů konfigurace kubeletu a operačního systému Linux, povolených hodnot, výchozích hodnot a popisů najdete v tématu Vlastní parametry konfigurace uzlu pro AKS.

Důležité informace o vlastních konfiguracích uzlů

Při přizpůsobení konfigurace uzlu mějte na paměti následující aspekty:

  • Aktualizace bitové kopie uzlu znovu použije vlastní konfiguraci uzlu.
  • Operace horizontálního škálování zachovávají vlastní konfiguraci uzlů.
  • AKS neprovádí předběžné ověření pro každý parametr nebo každou hodnotu konfigurace vlastního uzlu. Ujistěte se, že jsou podporované a platné parametry a hodnoty konfigurace vlastního uzlu, abyste se vyhnuli potenciálním problémům s uzly clusteru.
  • Nastavení kubeletu pro náhled kubeReserved a prahovou hodnotu vyřazení jsou k dispozici pouze v uzlových fondech Linuxu. Pokud je nakonfigurujete, použijte podporované rozsahy, jednotky a pravidla párování v referenci parametrů konfigurace vlastního uzlu.
  • Výchozí hodnoty parametrů konfigurace vlastních uzlů se často mění s novými verzemi operačního systému. Při použití vlastních konfigurací uzlů zkontrolujte výchozí hodnoty parametrů, které konfigurujete, a ujistěte se, že jsou vaše vlastní nastavení vhodná pro verzi operačního systému uzlů clusteru.
  • Omezte počet lidí, kteří mají oprávnění ke změně konfigurace vlastního uzlu, aby se zabránilo nezamýšleným důsledkům na stabilitu a výkon clusteru. Zvažte použití autorizace Microsoft Entra ID pro rozhraní API Kubernetes , abyste omezili přístup k nastavení konfigurace clusteru.
  • Oddělte fondy uzlů s vlastními konfiguracemi od těch bez vlastních konfigurací, abyste zabránili nezamýšleným důsledkům úloh, které by mohly být citlivé na určité změny konfigurace. Pokud máte například kritickou úlohu, která vyžaduje konkrétní nastavení kubeletu, zvažte izolování této úlohy do vyhrazeného fondu uzlů s potřebnou vlastní konfigurací kubeletu.