Skalowanie do zera i z powrotem
Oszczędzaj, korzystając z automatycznego skalowania sterowanego żądaniami
Skalowanie do zera i z powrotem to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 2 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej MLOps Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs MLOps Academy zawiera 4 lekcji w sumie.
Bezczynne modele kosztują
Pod modelu, który nie otrzymuje ruchu, nadal zużywa procesor, pamięć i generuje koszty chmurowe. KServe może całkowicie zmniejszyć rozmiar bezczynnej usługi. Funkcja Scale to zero eliminuje to marnotrawstwo. 💸
Dzięki Knative
Tryb bezserwerowy KServe korzysta z Knative, które monitoruje liczbę żądań i dostosowuje liczbę replik. Gdy ruch ustaje, może usunąć wszystkie Pody tej usługi.
Autoskalowanie sterowane żądaniami
Liczba replik zależy od zapotrzebowania, a nie od stałego harmonogramu. Gdy liczba żądań rośnie, KServe dodaje Pody, a gdy maleje — skaluje usługę w dół. Tak działa autoskalowanie request-driven.
Ustawianie minReplicas na zero
Aby umożliwić pełne skalowanie w dół, ustaw minReplicas na 0 w specyfikacji predictor. Przy dozwolonej wartości zero bezczynna usługa nie będzie mieć żadnych działających Podów.
spec:
predictor:
minReplicas: 0
model:
modelFormat:
name: sklearnDocelowa współbieżność
Autoskalowanie dąży do osiągnięcia docelowej liczby żądań obsługiwanych jednocześnie przez jeden Pod. Ta wartość concurrency określa, jak agresywnie KServe dodaje repliki pod obciążeniem.
metadata:
annotations:
autoscaling.knative.dev/target: "10"Ponowne skalowanie w górę
Gdy żądanie trafi do usługi przeskalowanej do zera, Knative uruchamia Pod na żądanie. Ruch zostaje wznowiony, gdy tylko Pod będzie gotowy, więc scale up odbywa się automatycznie.
Koszt zimnego startu
Pierwsze żądanie po zejściu do zera musi zaczekać na uruchomienie Poda i załadowanie modelu. To opóźnienie jest nazywane cold start i stanowi główny kompromis związany ze skalowaniem do zera. ⏱️
Kiedy warto użyć zera
Skalowanie do zera sprawdza się w przypadku obciążeń skokowych lub rzadkich, gdy dominuje czas bezczynności. Przy stałym ruchu, wrażliwym na opóźnienia, koszt cold start może nie być tego wart.
Zamiast tego utrzymuj jeden ciepły Pod
Jeśli zimne starty powodują problemy, ustaw minReplicas na 1, aby jeden Pod zawsze pozostawał aktywny. W zamian za niewielki koszt otrzymujesz gwarancję gotowej do obsługi instancji typu warm.
spec:
predictor:
minReplicas: 1Ustal górny limit
Możesz także ograniczyć wzrost za pomocą maxReplicas, aby skok ruchu nigdy nie przekroczył budżetu klastra. Ustawia to górną granicę autoskalowania.
spec:
predictor:
minReplicas: 0
maxReplicas: 5Obserwuj skalowanie
Możesz potwierdzić działanie, obserwując pojawianie się i znikanie Podów wraz ze zmianami ruchu. Count Podów spada do zera podczas bezczynności i ponownie rośnie, gdy napływają wywołania.
kubectl get pods -l serving.kserve.io/inferenceservice=sklearn-iris -wSzybkie sprawdzenie
Jaka jest główna wada umożliwienia usłudze skalowania do zera?
Podsumowanie
Zobaczyłeś, jak minReplicas: 0 pozwala KServe skalować bezczynne modele do zera i ponownie uruchamiać je na żądanie. Ustaw limit za pomocą maxReplicas, a jeśli zimne starty są problemem, utrzymuj jedną ciepłą instancję. Świetne postępy! 🎉
Ucz się Python dzięki korepetycjom AI — za darmo
Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.
- Kursy
- 30
- Lekcje
- 120
Często zadawane pytania
Czy lekcja „Skalowanie do zera i z powrotem” jest bezpłatna?
Tak — pełny tekst „Skalowanie do zera i z powrotem” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu MLOps Academy, przejdź na CoddyKit PRO. Kurs MLOps Academy zawiera 4 lekcji w sumie.
Co nauczysz się w „Skalowanie do zera i z powrotem”?
Oszczędzaj, korzystając z automatycznego skalowania sterowanego żądaniami Ćwiczysz MLOps Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.
Czy potrzebuję doświadczenia, aby zacząć MLOps Academy?
Nie wymagamy żadnego doświadczenia. MLOps Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 2 z 4.
Ile czasu zajmuje lekcja „Skalowanie do zera i z powrotem”?
Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.
Czy mogę pisać i uruchamiać kod w tej lekcji MLOps Academy?
Tak. Każda lekcja MLOps Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.
Wszystkie lekcje w tym kursie
- Zasób InferenceService
- Skalowanie do zera i z powrotem
- Pisanie własnego predyktora
- KServe a Seldon Core