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.
Z tego artykułu dowiesz się więcej o rezerwacjach zasobów węzłów w usłudze Azure Kubernetes Service (AKS).
Rezerwacje zasobów
Usługa AKS wykorzystuje zasoby węzłów, aby węzły mogły funkcjonować w ramach klastra. To użycie może spowodować rozbieżność między całkowitymi zasobami węzła a przydzielanymi zasobami w usłudze AKS.
Usługa AKS rezerwuje dwa typy zasobów, procesora CPU i pamięci w każdym węźle, aby zachować wydajność i funkcjonalność węzła. W miarę zwiększania się rozmiaru węzła pod względem zasobów, również rosną rezerwacje zasobów ze względu na rosnącą potrzebę zarządzania zasobnikami wdrożonych przez użytkowników.
Rezerwacje procesora CPU
Zarezerwowany CPU jest zależny od typu węzła i konfiguracji klastra, co może skutkować mniejszą ilością przydzielonego CPU ze względu na działanie dodatkowych funkcji. W poniższej tabeli przedstawiono rezerwacje procesora CPU w mili-rdzeniach.
| Rdzenie CPU na hoście | 1 rdzeń | 2 rdzenie | 4 rdzenie | 8 rdzeni | 16 rdzeni | 32 rdzenie | 64 rdzenie |
|---|---|---|---|---|---|---|---|
| Zarezerwowane CPU Kube (millicores) | 60 | 100 | 140 | 180 | 260 | 420 | 740 |
Rezerwacje pamięci
W usłudze AKS pamięć zarezerwowana składa się z sumy dwóch wartości:
AKS 1.29 i późniejsze
kubeletdemon ma domyślnie regułę eksmisji pamięci dostępnej < 100 Mi. Ta reguła gwarantuje, że węzeł ma co najmniej 100 Mi allocatable zawsze. Gdy host znajduje się poniżej tego progu dostępnej pamięci,kubeletwyzwala zakończenie jednego z uruchomionych zasobników i zwalnia pamięć na maszynie hosta.Szybkość rezerwacji pamięci ustawiona zgodnie z mniejszą wartością: 20 MB * Maksymalna liczba zasobników obsługiwanych w węźle + 50 MB lub 25% całkowitej ilości zasobów pamięci systemowej.
Przykłady:
- Jeśli maszyna wirtualna zapewnia 8 GB pamięci, a węzeł obsługuje maksymalnie 30 zasobników, usługa AKS rezerwuje 20 MB * 30 maksymalnych zasobników + 50 MB = 650 MB dla zarezerwowanego rozwiązania kube-reserved.
Allocatable space = 8 GB - 0.65 GB (kube-reserved) - 0.1 GB (eviction threshold) = 7.25 GB or 90.625% allocatable. - Jeśli maszyna wirtualna udostępnia 4 GB pamięci, a węzeł obsługuje maksymalnie 70 podów, usługa AKS zastrzega 25% * 4 GB = 1000 MB dla kube-reserved, ponieważ jest to mniej niż 20 MB * 70 Max Pods + 50 MB = 1450 MB.
Aby uzyskać więcej informacji, zobacz Konfigurowanie maksymalnych zasobników na węzeł w klastrze usługi AKS.
- Jeśli maszyna wirtualna zapewnia 8 GB pamięci, a węzeł obsługuje maksymalnie 30 zasobników, usługa AKS rezerwuje 20 MB * 30 maksymalnych zasobników + 50 MB = 650 MB dla zarezerwowanego rozwiązania kube-reserved.
Uwaga
Aby zastosować wzmocnione wartości domyślne kube-reserved, system-reserved i ustawień eksmisji w pulach węzłów systemu Linux, zarejestruj flagę funkcji CustomNodeConfigPreview i włącz Node Hardening w klastrze przy użyciu parametru --enable-node-hardening. Aby dostosować kubeReserved wartości procesora CPU i pamięci lub progi wykluczania, użyj niestandardowych ustawień konfiguracji węzła w wersji zapoznawczej. Aby uzyskać więcej informacji, zobacz Node Hardening (wersja zapoznawcza) w usłudze AKS.
Wersje usługi AKS wcześniejsze niż 1.29
-
kubeletDaemon ma domyślnie regułę eksmisji memory.available < 750 Mi. Ta reguła gwarantuje, że węzeł ma co najmniej 750 Mi pamięci przydzielalnej w każdym momencie. Gdy host znajduje się poniżej tego progu dostępnej pamięci,kubeletwyzwala zakończenie jednego z działających podów i zwalnia pamięć na maszynie hosta. -
Spadkowe tempo rezerwacji pamięci dla demona kubelet do jego prawidłowego działania (kube-reserved).
- 25% z pierwszych 4 GB pamięci
- 20% następnej 4 GB pamięci (do 8 GB)
- 10% następnej 8 GB pamięci (do 16 GB)
- 6% następnej 112 GB pamięci (do 128 GB)
- 2% pamięci więcej niż 128 GB
Uwaga
Usługa AKS rezerwuje dodatkowe 2 GB dla procesów systemowych w węzłach systemu Windows, które nie są częścią pamięci obliczeniowej.
Zasady alokacji pamięci i procesora zostały zaprojektowane, aby:
- Zachowaj kondycję węzłów agenta, w tym niektóre zasobniki systemu hostowania krytyczne dla kondycji klastra.
- Spowoduj, aby węzeł zgłaszał mniej pamięci i CPU niż zgłaszałby, gdyby nie był częścią klastra Kubernetes.
Na przykład, jeśli węzeł oferuje 7 GB, zgłasza, że 34% pamięci nie nadaje się do przydzielenia, w tym prog eksmisji wynoszący 750 Mi.
0.75 + (0.25*4) + (0.20*3) = 0.75 GB + 1 GB + 0.6 GB = 2.35 GB / 7 GB = 33.57% reserved
Oprócz rezerwacji dla samego Kubernetes, podstawowy system operacyjny węzła również rezerwuje pewną ilość zasobów CPU i pamięci na utrzymanie funkcji systemu operacyjnego.
Aby uzyskać informacje o skojarzonych najlepszych rozwiązaniach, zobacz Najlepsze rozwiązania dotyczące podstawowych funkcji harmonogramu w usłudze AKS.
Następne kroki
- Dowiedz się więcej o niestandardowej konfiguracji węzłów w usłudze AKS.