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.
Dotyczy: ✔️ AKS Automatic AKS Standard ✔️
Ten artykuł zawiera omówienie korzystania z narzędzia Vertical Pod Autoscaler (VPA) w usłudze Azure Kubernetes Service (AKS), która jest oparta na wersji rozwiązania Kubernetes typu open source.
W przypadku większości obciążeń produkcyjnych AKS Automatic to zalecana domyślna opcja usługi AKS. Usługa AKS Automatic jest domyślnie gotowa do użytku produkcyjnego i zawiera wstępnie skonfigurowaną funkcję klastra VPA. W usłudze AKS Standard jawnie konfigurujesz vpa i zarządzasz nią.
Po skonfigurowaniu VPA automatycznie ustawia żądania zasobów i limity dla kontenerów dla każdego obciążenia na podstawie wcześniejszego użycia. VPA zwalnia CPU i pamięć dla innych podów i pomaga zapewnić efektywne wykorzystanie klastrów AKS. Narzędzie Do automatycznego skalowania zasobników w pionie zawiera zalecenia dotyczące użycia zasobów w czasie. Aby zarządzać nagłymi wzrostami użycia zasobów, użyj Horizontal Pod Autoscaler, który skaluje liczbę replik podów zgodnie z potrzebami.
Aby dowiedzieć się więcej o usłudze AKS Automatic, zobacz Czym jest usługa Azure Kubernetes Service (AKS) Automatic?
VPA w systemach AKS Automatic i AKS Standard
VPA jest dostępna w obu trybach klastra AKS, ale sposób konfiguracji różni się:
- AKS Automatic: VPA jest wstępnie skonfigurowany.
- AKS Standard: VPA jest opcjonalna i skonfigurowana jawnie.
W przypadku większości scenariuszy produkcyjnych zacznij od usługi AKS Automatic, aby użyć domyślnych ustawień gotowych do produkcji i zmniejszyć nakład pracy operacyjnej.
Świadczenia
Narzędzie Do automatycznego skalowania zasobników pionowych oferuje następujące korzyści:
- Analizuje i dostosowuje zasoby procesora i pamięci w celu odpowiedniego rozmiaru aplikacji. VPA jest nie tylko odpowiedzialne za skalowanie w górę, ale także za skalowanie w dół na podstawie jego użycia zasobów w czasie.
- Zasobnik z trybem skalowania ustawionym na automatyczne lub ponowne tworzenie jest eksmitowany, jeśli musi zmienić żądania zasobów.
- Ograniczenia procesora CPU i pamięci dla poszczególnych kontenerów można ustawić, określając zasady zasobów.
- Zapewnia, że węzły mają odpowiednie zasoby do harmonogramowania zasobników.
- Oferuje konfigurowalne rejestrowanie wszelkich zmian wprowadzonych w zasobach procesora lub pamięci.
- Poprawia wykorzystanie zasobów klastra i zwalnia CPU oraz pamięć dla innych podów.
Ograniczenia i istotne zagadnienia
Podczas korzystania z Pionowego Autoscalera Podów, należy wziąć pod uwagę następujące ograniczenia i kwestie:
- VPA gwarantuje optymalną obsługę do 1000 zasobników w klastrze skojarzonym z obiektami
VerticalPodAutoscaler. Wraz ze wzrostem liczby śledzonych zasobników zużycie pamięci rośnie we wszystkich komponentach VPA, szczególnie w przypadku komponentu recommender, co może wpływać na skalowalność. - VPA może zalecić więcej zasobów niż jest dostępnych w klastrze, co uniemożliwia przypisanie podu do węzła oraz jego uruchomienie z powodu niewystarczających zasobów. To ograniczenie można przezwyciężyć, ustawiając wartość LimitRange na maksymalną dostępną ilość zasobów na przestrzeń nazw, co gwarantuje, że zasobniki nie pytają o więcej zasobów niż określono. Można również ustawić maksymalny poziom zalecanych zasobów dla każdego zasobnika w obiekcie
VerticalPodAutoscaler. VPA nie może całkowicie rozwiązać problemu z niewystarczającymi zasobami węzła. Zakres limitów jest stały, ale użycie zasobów węzła jest zmieniane dynamicznie. - Nie zalecamy używania funkcji VPA z narzędziem Horizontal Pod Autoscaler (HPA), który jest skalowany na podstawie tych samych metryk użycia procesora CPU i pamięci.
- Usługa VPA Recommender przechowuje tylko do ośmiu dni danych historycznych.
- VPA nie obsługuje obciążeń działających na maszynie wirtualnej JVM ze względu na ograniczoną widoczność rzeczywistego zużycia pamięci przez obciążenie.
- VPA nie obsługuje uruchamiania własnej implementacji VPA równolegle. Obsługiwany jest dodatkowy lub niestandardowy system rekomendacji.
- Kontenery Windows w usłudze AKS nie są obsługiwane.
Omówienie VPA
Obiekt VPA składa się z trzech składników:
- Rekomendator: Moduł polecający monitoruje bieżące i wcześniejsze użycie zasobów, w tym historię metryk, zdarzenia OOM i specyfikacje wdrażania VPA. Używa zebranych informacji, aby udostępnić zalecane wartości dla żądań i limitów procesora (CPU) i pamięci dla kontenerów.
- Aktualizator: aktualizator monitoruje zarządzane zasobniki, aby upewnić się, że ich żądania zasobów są ustawione poprawnie. Jeśli nie, usuwa te pody, aby ich kontrolery mogły je ponownie utworzyć przy użyciu zaktualizowanych żądań.
- Kontroler przyjęć VPA: Kontroler przyjęć VPA ustawia prawidłowe żądania zasobów na nowych podach, które zostały nowo utworzone lub odtworzone przez ich kontroler, w oparciu o działanie Aktualizatora.
Kontroler wstępu VPA
Kontroler wstępu VPA jest programem binarnym, który rejestruje się jako "Mutating Admission Webhook". Po utworzeniu nowego podu Kontroler Wstępu VPA pobiera żądanie z serwera interfejsu API i ocenia, czy istnieje zgodna konfiguracja VPA lub znajduje odpowiednią i korzysta z bieżących zaleceń, aby ustawić żądania zasobów w podzie.
Samodzielne zadanie, overlay-vpa-cert-webhook-check, działa poza Kontrolerem przyjęć VPA. Zadanie overlay-vpa-cert-webhook-check tworzy i odnawia certyfikaty i rejestruje kontrolera dostępu VPA jako MutatingWebhookConfiguration.
Tryby operacji obiektu VPA
Zasób pionowego autoskalowania zasobników, najczęściej deployment, jest wstawiany dla każdego kontrolera, dla którego chcesz, aby automatycznie obliczono wymagania dotyczące zasobów.
Istnieją cztery tryby, w których działa VPA:
-
Recreate: VPA przypisuje żądania zasobów podczas tworzenia zasobnika i aktualizuje istniejące zasobniki, eksmitując je, gdy żądane zasoby różnią się znacznie od nowych zaleceń (z uwzględnieniem zasobnika PodDisruptionBudget, jeśli jest zdefiniowana). Należy używać tego trybu tylko wtedy, gdy trzeba upewnić się, że zasobniki są ponownie uruchamiane za każdym razem, gdy żądanie zasobu ulegnie zmianie. W przeciwnym razie zalecamy używanieInPlaceOrRecreatetrybu, który korzysta z aktualizacji bez ponownego uruchamiania, jeśli jest to możliwe. -
InPlaceOrRecreate: W trybie InPlaceOrRecreate VPA próbuje zaktualizować żądania zasobów i limity dla Podów bez ich ponownego uruchamiania, jeśli jest to możliwe. Jednak jeśli nie można wykonać aktualizacji w miejscu dla określonej zmiany zasobu, VPA ponownie eksmituje Poda (podobnie jak w trybie Recreate) i umożliwia kontrolerowi utworzenie zastępczego Poda ze zaktualizowanymi zasobami. Ten tryb jest dostępny w usłudze AKS 1.34 lub nowszej.- Aby wypróbować
InPlaceOrRecreatetryb, postępuj zgodnie z instrukcjami krok po kroku. - W tym trybie aktualizator stosuje zalecenia bezpośrednio przy użyciu funkcji "Zmień rozmiar zasobów kontenera na miejscu".
- Aby uzyskać więcej informacji, zobacz dokumentację upstream aktualizacji In-Place.
- Aby wypróbować
-
Initial: VPA przypisuje tylko żądania zasobów podczas tworzenia zasobnika. Nie aktualizuje istniejących zasobników. Ten tryb jest przydatny do testowania i rozumienia zachowania VPA bez wpływu na uruchomione zasobniki. -
Off: VPA nie zmienia automatycznie wymagań dotyczących zasobów zasobników. Zalecenia są obliczane i można je sprawdzić w obiekcie VPA.
Ostrzeżenie
Auto Tryb aktualizacji został oznaczony jako przestarzały od wersji 1.4.0 VPA (AKS 1.34+). Tryb automatyczny jest obecnie aliasem dla Recreate trybu i działa identycznie. Wprowadzono ją w celu umożliwienia przyszłego rozszerzenia strategii automatycznej aktualizacji.
Wzorzec wdrażania na potrzeby tworzenia aplikacji
Jeśli nie znasz VPA, podczas tworzenia aplikacji użyj następującego wzorca wdrażania, aby zidentyfikować charakterystyczne dla każdej aplikacji wzorce wykorzystania zasobów, przetestować VPA w celu sprawdzenia, czy działa prawidłowo, oraz przetestować je w połączeniu z innymi komponentami Kubernetes, aby zoptymalizować wykorzystanie zasobów klastra:
- Ustaw
UpdateMode = "Off"w klastrze produkcyjnym i uruchom VPA w trybie rekomendacji, aby mieć możliwość przetestowania i zapoznania się z VPA.UpdateMode = "Off"może uniknąć wprowadzenia błędnej konfiguracji, która może spowodować awarię. - Najpierw ustanów możliwość obserwacji, zbierając rzeczywiste dane telemetryczne wykorzystania zasobów w danym okresie. Ta telemetria pomaga zrozumieć zachowanie i wszelkie oznaki problemów z zasobami kontenera i zasobnika, na które wpływają obciążenia uruchomione na tych kontenerach i zasobnikach.
- Zapoznaj się z danymi monitorowania, aby zrozumieć charakterystykę wydajności. Na podstawie tych szczegółowych informacji należy odpowiednio ustawić żądane żądania/limity, a następnie w następnym wdrożeniu lub uaktualnieniu.
- Ustaw
updateModewartość naRecreate,InPlaceOrRecreatelubInitialw zależności od wymagań.
W usłudze AKS Automatic funkcja VPA jest już dostępna jako wstępnie skonfigurowana możliwość, więc skup się na dostrajaniu zasad i trybu. W usłudze AKS Standard zakończ konfigurację VPA przed zastosowaniem wzorca wdrażania.