0Pricing
MLOps Academy · Lekcja

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 None

Zasygnalizuj 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

  1. Pierwszy endpoint /predict
  2. Walidacja żądań za pomocą Pydantic
  3. Jednorazowe wczytywanie modelu podczas uruchamiania
  4. Dodawanie kontroli gotowości /health
← Powrót do MLOps Academy