Aggiungere un controllo di readiness /health
Comunichi agli orchestratori quando il servizio è pronto a rispondere.
Aggiungere un controllo di readiness /health è una lezione MLOps Academy gratuita su CoddyKit. Questa è la lezione 4 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento MLOps Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso MLOps Academy include 4 lezioni in totale.
Come fa il cluster a saperlo?
Gli orchestratori come Kubernetes hanno bisogno di chiedere al servizio: è attivo ed è pronto a ricevere traffico? Un endpoint di health fornisce la risposta. 🩺
Liveness e readiness
Liveness verifica se il processo è in esecuzione. Readiness verifica se può effettivamente servire le richieste. Sono due domande diverse.
Una route health essenziale
Il controllo più semplice è un GET /health che restituisce ok. Se il processo riesce a rispondere, è almeno attivo.
@app.get("/health")
def health():
return {"status": "ok"}La readiness richiede il modello
Per il machine learning, essere attivi non basta. Un vero controllo di readiness conferma che il modello abbia terminato il caricamento prima di accettare traffico di predizione.
Controllare il modello caricato
Controlli app.state per verificare se il modello è presente. Se è ancora None, il servizio non è pronto.
ready = app.state.model is not NoneSegnalare che non è pronto con 503
Quando il modello non è caricato, restituisca uno stato 503, così l'orchestratore blocca il traffico finché il servizio non è pronto.
from fastapi import HTTPException
raise HTTPException(status_code=503)Mettere insieme i componenti
Una route /ready controlla il modello e restituisce ready oppure genera un errore 503. Il controllo rimane rapido e non esegue operazioni pesanti.
@app.get("/ready")
def ready(req: Request):
if req.app.state.model is None:
raise HTTPException(503)
return {"ready": True}Configurare le probe
In Kubernetes punti una readinessProbe a /ready e una livenessProbe a /health. La piattaforma le interroga secondo una pianificazione.
Mantenere leggeri i controlli
Le probe vengono eseguite spesso, quindi un controllo di health deve essere economico. Non esegua mai una vera inferenza del modello né interroghi un database lento al suo interno.
Distribuzioni fluide senza downtime
I controlli di readiness consentono aggiornamenti progressivi: i nuovi pod ricevono traffico solo quando sono ready, così gli utenti non raggiungono mai un'istanza avviata a metà. 🚦
Perché è importante
Gli endpoint di health e readiness rendono il servizio del modello un buon citizen in qualsiasi cluster, permettendo scaling, riavvii e distribuzioni sicuri. ✅
Verifica rapida
Il modello è ancora in fase di caricamento e una readiness probe raggiunge /ready. Che cosa dovrebbe restituire l'endpoint?
Riepilogo
Ha separato liveness e readiness, restituito 503 finché il modello non viene caricato e configurato le probe per distribuzioni sicure. Il servizio è pronto per il cluster! 🙌
Domande Frequenti
La lezione «Aggiungere un controllo di readiness /health» è gratuita?
Sì — il testo completo di «Aggiungere un controllo di readiness /health» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso MLOps Academy, passa a CoddyKit PRO. Il corso MLOps Academy include 4 lezioni in totale.
Cosa imparerò in «Aggiungere un controllo di readiness /health»?
Comunichi agli orchestratori quando il servizio è pronto a rispondere. Eserciti MLOps Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.
Ho bisogno di esperienza per iniziare MLOps Academy?
Non è richiesta alcuna esperienza precedente. MLOps Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 4 di 4.
Quanto tempo richiede la lezione «Aggiungere un controllo di readiness /health»?
La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.
Posso scrivere ed eseguire codice in questa lezione MLOps Academy?
Sì. Ogni lezione MLOps Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.
Tutte le lezioni di questo corso
- Il primo endpoint /predict
- Convalidare le richieste con Pydantic
- Caricare il modello una sola volta all'avvio
- Aggiungere un controllo di readiness /health