Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dostosowując konfigurację węzła, można dostosować ustawienia systemu operacyjnego lub parametry narzędzia kubelet, aby odpowiadały potrzebom obciążeń. Podczas tworzenia klastra usługi AKS lub dodawania puli węzłów do klastra można dostosować podzbiór często używanych ustawień systemu operacyjnego oraz kubeleta. Aby skonfigurować ustawienia wykraczające poza ten zakres, użyj zestawu DaemonSet, aby dostosować wymagane konfiguracje bez utraty obsługi AKS dla swoich węzłów.
Prerequisites
W miarę jak usługa rozszerza obsługę o nowe ustawienia i parametry składnika kubelet, może być wymagana rejestracja flagi funkcji w wersji zapoznawczej. Jeśli wymagana jest flaga wersji zapoznawczej, dokumentacja parametrów konfiguracji niestandardowego węzła wyraźnie to zaznacza.
Wymagania w wersji zapoznawczej dotyczące ustawień kubelet kubeReserved i hardEvictionThreshold
Ważne
Funkcje usługi AKS w wersji zapoznawczej są dostępne na zasadzie samoobsługi i wymagają zapisania się. Wersje zapoznawcze są udostępniane w wersji "as is" i "jako dostępne" i są wykluczone z umów dotyczących poziomu usług i ograniczonej gwarancji. Wersje zapoznawcze usługi AKS są częściowo objęte pomocą techniczną dla klientów, świadczoną w miarę możliwości. W związku z tym te funkcje nie są przeznaczone do użytku produkcyjnego. Aby uzyskać więcej informacji, zobacz następujące artykuły pomocy technicznej:
Zainstaluj rozszerzenie Azure CLI aks-preview
Aby zainstalować rozszerzenie aks-preview, uruchom następujące polecenie:
az extension add --name aks-previewUruchom następujące polecenie, aby zaktualizować rozszerzenie do najnowszej wersji:
az extension update --name aks-preview
Zarejestruj flagę funkcji CustomNodeConfigPreview w ramach subskrypcji platformy Azure przed użyciem ustawień kubelet w wersji zapoznawczej kubeReserved i hardEvictionThreshold.
Zarejestruj flagę funkcji CustomNodeConfigPreview
Zarejestruj flagę funkcji
CustomNodeConfigPreviewza pomocą poleceniaaz feature register.az feature register --namespace "Microsoft.ContainerService" --name "CustomNodeConfigPreview"Wyświetlenie stanu Zarejestrowane trwa kilka minut.
Sprawdź stan rejestracji przy użyciu
az feature showpolecenia .az feature show --namespace "Microsoft.ContainerService" --name "CustomNodeConfigPreview"Gdy jako stan jest wyświetlane Registered, odśwież rejestrację dostawcy zasobów Microsoft.ContainerService za pomocą polecenia
az provider register.az provider register --namespace "Microsoft.ContainerService"
Tworzenie niestandardowych plików konfiguracji dla pul węzłów AKS
Aby zmienić konfigurację systemu operacyjnego i narzędzia kubelet, utwórz nowy plik konfiguracji z żądanymi parametrami i ustawieniami. Jeśli nie określisz wartości parametru, zostanie użyta wartość domyślna.
Uwaga
W poniższych przykładach przedstawiono typowe ustawienia konfiguracji. Zmodyfikuj ustawienia, aby spełniały wymagania dotyczące obciążenia. Aby uzyskać pełną listę obsługiwanych niestandardowych parametrów konfiguracji, zobacz Niestandardowe parametry konfiguracji węzła dla usługi AKS.
Konfiguracja rozwiązania Kubelet
linuxkubeletconfig.json Utwórz plik z następującą zawartością:
{
"cpuManagerPolicy": "static",
"cpuCfsQuota": true,
"cpuCfsQuotaPeriod": "200ms",
"imageGcHighThreshold": 90,
"imageGcLowThreshold": 70,
"topologyManagerPolicy": "best-effort",
"allowedUnsafeSysctls": [
"kernel.msg*",
"net.*"
],
"failSwapOn": false
}
Aby użyć ustawień kubelet dla funkcji Podgląd dostosowywania węzłów w pulach węzłów systemu Linux, dodaj kubeReserved i hardEvictionThreshold do pliku konfiguracji kubelet. Poniższy przykład rezerwuje CPU i pamięć dla demonów systemowych Kubernetes oraz konfiguruje progi twardej eksmisji kubeleta:
{
"cpuManagerPolicy": "static",
"kubeReserved": {
"cpuMillicores": 200,
"memoryMB": 1024
},
"hardEvictionThreshold": {
"memoryAvailable": "20%",
"nodeFsAvailable": "10%",
"nodeFsInodesFree": "5%"
}
}
Używaj kubeReserved i hardEvictionThreshold tylko w pulach węzłów z systemem Linux. Oba ustawienia wymagają flagi funkcji CustomNodeConfigPreview.
Konfiguracja systemu operacyjnego
linuxosconfig.json Utwórz plik z następującą zawartością:
{
"transparentHugePageEnabled": "madvise",
"transparentHugePageDefrag": "defer+madvise",
"swapFileSizeMB": 1500,
"sysctls": {
"netCoreSomaxconn": 163849,
"netIpv4TcpTwReuse": true,
"netIpv4IpLocalPortRange": "32000 60000"
}
}
Tworzenie klastra usługi AKS przy użyciu niestandardowych plików konfiguracji
Uwaga
Podczas korzystania z niestandardowych plików konfiguracyjnych przy tworzeniu nowego klastra usługi AKS należy pamiętać o następujących informacjach:
- Jeśli określisz konfigurację podczas tworzenia klastra, konfiguracja ma zastosowanie tylko do węzłów w początkowej puli węzłów. Klaster zachowuje wartości domyślne dla wszystkich ustawień, które nie zostały skonfigurowane w pliku JSON.
-
CustomLinuxOsConfignie jest obsługiwany dla typu systemu operacyjnego Windows. - Ustawienia kubelet
kubeReservedihardEvictionThresholdw wersji zapoznawczej są obsługiwane tylko dla pul węzłów z systemem Linux i wymagają flagi funkcjiCustomNodeConfigPreview. Przed utworzeniem klastra lub puli węzłów wykonaj kroki rejestracji w sekcji WymaganiakubeReserveddotyczące wersji zapoznawczej ihardEvictionThresholdustawienia kubeletu .
Utwórz nowy klaster przy użyciu niestandardowych plików konfiguracji, uruchamiając polecenie az aks create i podając pliki konfiguracyjne dla parametrów --kubelet-config i --linux-os-config. Następujące przykładowe polecenie tworzy nowy klaster z plikami niestandardowymi ./linuxkubeletconfig.json i ./linuxosconfig.json :
az aks create --name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json --linux-os-config ./linuxosconfig.json
Dodaj pulę węzłów za pomocą niestandardowych plików konfiguracji
Uwaga
Podczas używania niestandardowych plików konfiguracji do dodawania nowej puli węzłów do istniejącego klastra usługi AKS należy pamiętać o następujących informacjach:
- Po dodaniu puli węzłów systemu Linux do istniejącego klastra można określić konfigurację narzędzia kubelet, konfigurację systemu operacyjnego lub obie te elementy. Po dodaniu puli węzłów systemu Windows do istniejącego klastra można określić tylko konfigurację narzędzia kubelet. Jeśli określisz konfigurację podczas dodawania puli węzłów, konfiguracja ma zastosowanie tylko do węzłów w nowej puli węzłów. Pula węzłów zachowuje wartości domyślne dla wszystkich ustawień, które nie zostały skonfigurowane w pliku JSON.
-
CustomKubeletConfigjest obsługiwany dla pul węzłów Linux i Windows. - Ustawienia kubelet
kubeReservedihardEvictionThresholdw wersji zapoznawczej są obsługiwane tylko dla pul węzłów z systemem Linux i wymagają flagi funkcjiCustomNodeConfigPreview. Przed utworzeniem klastra lub puli węzłów wykonaj kroki rejestracji opisane w Wymaganiach wersji zapoznawczej dotyczącychkubeReservedihardEvictionThresholdustawień kubelet.
Utwórz nową pulę węzłów systemu Linux za pomocą polecenia az aks nodepool add i określ pliki konfiguracji dla parametrów --kubelet-config i --linux-os-config. Następująca przykładowa komenda tworzy nową pulę węzłów systemu Linux z niestandardowym plikiem konfiguracyjnym ./linuxkubeletconfig.json.
az aks nodepool add --name <node-pool-name> --cluster-name <cluster-name> --resource-group <resource-group-name> --kubelet-config ./linuxkubeletconfig.json
Potwierdź, że zastosowano ustawienia
Po zastosowaniu niestandardowej konfiguracji węzła można potwierdzić, że ustawienia zostały zastosowane do węzłów, łącząc się z hostem i sprawdzając, czy w systemie plików sysctl wprowadzono zmiany konfiguracji.
Przejrzyj obsługiwane niestandardowe parametry konfiguracji
Pełną listę obsługiwanych parametrów konfiguracji kubelet i systemu operacyjnego Linux, dozwolonych wartości, wartości domyślnych oraz opisów można znaleźć w artykule Niestandardowe parametry konfiguracji węzła w usłudze AKS.
Zagadnienia dotyczące konfiguracji węzłów niestandardowych
Podczas dostosowywania konfiguracji węzła należy pamiętać o następujących kwestiach:
- Aktualizacje obrazu węzła ponownie stosują niestandardowe konfiguracje węzła.
- Operacje skalowania w poziomie zachowują niestandardowe konfiguracje węzłów.
- Usługa AKS nie przeprowadza wstępnej walidacji wszystkich niestandardowych parametrów konfiguracji węzłów ani ich wartości. Upewnij się, że parametry i wartości konfiguracji węzła niestandardowego, które określasz, są obsługiwane i prawidłowe, aby uniknąć potencjalnych problemów z węzłami klastra.
- Ustawienia
kubeReservedihardEvictionThresholdw wersji zapoznawczej są dostępne tylko w pulach węzłów systemu Linux. - Jeśli skonfigurujesz
kubeReserved, wartości muszą być dodatnie i nie mogą przekraczać dostępnych zasobów procesora ani pamięci w docelowej puli węzłów. - Jeśli skonfigurujesz
hardEvictionThreshold, używaj tylko obsługiwanych jednostek:Ki,Mi,Gilub%dlamemoryAvailableinodeFsAvailable, a surowej liczby lub%dlanodeFsInodesFree. - Wartości domyślne niestandardowych parametrów konfiguracji węzła często zmieniają się przy użyciu nowych wersji systemu operacyjnego. Podczas stosowania niestandardowych konfiguracji węzłów przejrzyj wartości domyślne dla konfigurowanych parametrów, aby upewnić się, że ustawienia niestandardowe są odpowiednie dla wersji systemu operacyjnego węzłów klastra.
- Ogranicz liczbę osób, które mają uprawnienia do modyfikowania konfiguracji węzła niestandardowego, aby zapobiec niezamierzonym konsekwencjom stabilności i wydajności klastra. Rozważ użycie Autoryzacji Microsoft Entra ID dla interfejsu API Kubernetes, aby ograniczyć dostęp do ustawień konfiguracji klastra.
- Oddzielne pule węzłów z konfiguracjami niestandardowymi od tych bez konfiguracji niestandardowych, aby zapobiec niezamierzonym konsekwencjom obciążeń, które mogą być wrażliwe na niektóre zmiany konfiguracji. Jeśli na przykład masz krytyczne obciążenie, które wymaga określonych ustawień kubeletu, rozważ izolowanie tego obciążenia do dedykowanej puli węzłów z wymaganą niestandardową konfiguracją kubeletu.
Treści powiązane
- Dowiedz się, jak skonfigurować klaster AKS.
- Dowiedz się, jak uaktualnić obrazy węzłów w klastrze.
- Zobacz Uaktualnianie klastra usługi Azure Kubernetes Service (AKS), aby dowiedzieć się, jak uaktualnić klaster do najnowszej wersji rozwiązania Kubernetes.
- Zobacz listę często zadawanych pytań dotyczących usługi AKS , aby znaleźć odpowiedzi na niektóre typowe pytania dotyczące usługi AKS.