Dodawanie kontroli gotowości /health
Informuj orkiestratory, gdy usługa jest gotowa do obsługi żądań
Dodawanie kontroli gotowości /health to bezpłatna lekcja MLOps Academy na CoddyKit. To lekcja 4 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.
Skąd klaster wie?
Narzędzia do orkiestracji, takie jak Kubernetes, muszą móc zapytać usługę: czy działa i czy jest gotowa na przyjmowanie ruchu? Odpowiada na to endpoint health. 🩺
Liveness a readiness
Liveness sprawdza, czy proces działa. Readiness sprawdza, czy może już faktycznie obsługiwać żądania. To dwa różne pytania.
Prosta trasa health
Najprostsze sprawdzenie to GET /health zwracające ok. Jeśli proces w ogóle potrafi odpowiedzieć, oznacza to przynajmniej, że działa.
@app.get("/health")
def health():
return {"status": "ok"}Readiness wymaga modelu
W przypadku ML samo działanie usługi nie wystarczy. Prawdziwe sprawdzenie readiness potwierdza, że model został wczytany przed rozpoczęciem przyjmowania ruchu predykcyjnego.
Sprawdź wczytany model
Sprawdź app.state, aby zobaczyć, czy model jest dostępny. Jeśli jego wartość nadal wynosi None, usługa nie jest jeszcze gotowa.
ready = app.state.model is not NoneZasygnalizuj brak gotowości kodem 503
Gdy model nie jest wczytany, zwróć status 503, aby narzędzie do orkiestracji wstrzymało ruch do czasu, aż usługa będzie gotowa.
from fastapi import HTTPException
raise HTTPException(status_code=503)Połącz wszystko
Trasa /ready sprawdza model i zwraca ready albo zgłasza błąd 503. Sprawdzenie pozostaje szybkie i nie wykonuje ciężkich operacji.
@app.get("/ready")
def ready(req: Request):
if req.app.state.model is None:
raise HTTPException(503)
return {"ready": True}Podłącz sondy
W Kubernetes wskaż readinessProbe na /ready, a livenessProbe na /health. Platforma odpytuje je zgodnie z ustalonym harmonogramem.
Zadbaj o lekkość sprawdzeń
Sondy są uruchamiane często, dlatego sprawdzenie stanu zdrowia musi być tanie. Nigdy nie wykonuj w nim prawdziwej inferencji modelu ani nie odwołuj się do wolnej bazy danych.
Płynne wdrożenia bez przestojów
Sprawdzenia readiness umożliwiają aktualizacje kroczące: nowe pody otrzymują ruch dopiero po uzyskaniu statusu ready, więc użytkownicy nigdy nie trafiają do instancji, która nie zakończyła uruchamiania. 🚦
Dlaczego to ważne
Endpointy health i readiness sprawiają, że usługa modelu jest dobrym obywatelem każdego klastra, umożliwiając bezpieczne skalowanie, ponowne uruchamianie i wdrażanie. ✅
Szybkie sprawdzenie
Model jest nadal wczytywany, a sonda readiness wywołuje /ready. Co powinien zwrócić endpoint?
Podsumowanie
Rozdzielono liveness od readiness, zwracano 503 do czasu wczytania modelu i podłączono sondy na potrzeby bezpiecznych wdrożeń. Usługa jest gotowa do pracy w klastrze! 🙌
Często zadawane pytania
Czy lekcja „Dodawanie kontroli gotowości /health” jest bezpłatna?
Tak — pełny tekst „Dodawanie kontroli gotowości /health” 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 „Dodawanie kontroli gotowości /health”?
Informuj orkiestratory, gdy usługa jest gotowa do obsługi żądań Ć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 4 z 4.
Ile czasu zajmuje lekcja „Dodawanie kontroli gotowości /health”?
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
- Pierwszy endpoint /predict
- Walidacja żądań za pomocą Pydantic
- Jednorazowe wczytywanie modelu podczas uruchamiania
- Dodawanie kontroli gotowości /health