เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health
แจ้งตัวจัดการระบบเมื่อบริการของคุณพร้อมให้บริการ
เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health เป็นบทเรียน MLOps Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน MLOps Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
คลัสเตอร์รู้ได้อย่างไร
เครื่องมือจัดการระบบอย่าง Kubernetes ต้องมีวิธีถามบริการของคุณว่า ยังทำงานอยู่หรือไม่ และพร้อมรับ traffic หรือไม่ endpoint health จะตอบคำถามนี้ 🩺
Liveness กับ Readiness
Liveness ตรวจสอบว่าโพรเซสกำลังทำงานอยู่หรือไม่ ส่วน Readiness ตรวจสอบว่าสามารถให้บริการคำขอได้จริงแล้วหรือยัง ทั้งสองอย่างเป็นคำถามคนละข้อกัน
เส้นทางตรวจสอบสถานะอย่างง่าย
การตรวจสอบที่ง่ายที่สุดคือ GET /health ซึ่งส่งคืนค่า ok หากโพรเซสตอบกลับได้ ก็ถือว่ายังทำงานอยู่เป็นอย่างน้อย
@app.get("/health")
def health():
return {"status": "ok"}Readiness ต้องใช้โมเดล
สำหรับ ML การทำงานอยู่เพียงอย่างเดียวยังไม่พอ การตรวจสอบ readiness ที่แท้จริงต้องยืนยันว่าโหลดโมเดลเสร็จแล้วก่อนรับ traffic สำหรับการทำนาย
ตรวจสอบโมเดลที่โหลดแล้ว
คุณตรวจสอบ app.state เพื่อดูว่ามีโมเดลอยู่หรือไม่ หากยังเป็น None แสดงว่าบริการยังไม่พร้อม
ready = app.state.model is not Noneแจ้งว่ายังไม่พร้อมด้วย 503
เมื่อยังไม่ได้โหลดโมเดล ให้ส่งคืนสถานะ 503 เพื่อให้เครื่องมือจัดการระบบชะลอ traffic ไว้จนกว่าคุณจะพร้อม
from fastapi import HTTPException
raise HTTPException(status_code=503)ประกอบทุกอย่างเข้าด้วยกัน
เส้นทาง /ready จะตรวจสอบโมเดลและส่งคืนค่า ready หรือส่งข้อผิดพลาด 503 การตรวจสอบนี้ยังคง รวดเร็ว และไม่มีงานหนัก
@app.get("/ready")
def ready(req: Request):
if req.app.state.model is None:
raise HTTPException(503)
return {"ready": True}เชื่อมต่อโพรบ
ใน Kubernetes ให้ชี้ readinessProbe ไปที่ /ready และชี้ livenessProbe ไปที่ /health แพลตฟอร์มจะเรียกตรวจสอบตามกำหนดเวลา
ทำให้การตรวจสอบเบา
โพรบทำงานบ่อย ดังนั้นการตรวจสอบสถานะต้องมีต้นทุน ต่ำ อย่าเรียกใช้การอนุมานจากโมเดลจริงหรือเชื่อมต่อฐานข้อมูลที่ช้าภายในนั้น
ปรับใช้โดยไม่หยุดให้บริการอย่างราบรื่น
การตรวจสอบ Readiness ทำให้สามารถอัปเดตแบบทยอยเปลี่ยนได้ โดยพ็อดใหม่จะได้รับ traffic เมื่อ ready แล้วเท่านั้น ผู้ใช้จึงไม่พบอินสแตนซ์ที่เริ่มทำงานไม่เสร็จ 🚦
เหตุผลที่เรื่องนี้สำคัญ
Endpoint health และ readiness ทำให้บริการโมเดลของคุณเป็น สมาชิกที่ดี ในทุกคลัสเตอร์ และช่วยให้ปรับขนาด เริ่มต้นใหม่ และปรับใช้ได้อย่างปลอดภัย ✅
ตรวจสอบอย่างรวดเร็ว
โมเดลของคุณยังโหลดไม่เสร็จและ readiness probe เรียก /ready endpoint ควรส่งคืนอะไร
ทบทวน
คุณแยก liveness ออกจาก readiness ส่งคืน 503 จนกว่าโมเดลจะโหลดเสร็จ และเชื่อมต่อโพรบเพื่อการปรับใช้อย่างปลอดภัย บริการของคุณพร้อมทำงานในคลัสเตอร์แล้ว! 🙌
คำถามที่พบบ่อย
บทเรียน “เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส MLOps Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส MLOps Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health”
แจ้งตัวจัดการระบบเมื่อบริการของคุณพร้อมให้บริการ คุณปฏิบัติ MLOps Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน MLOps Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน MLOps Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 4 จากทั้งหมด 4 บทเรียน
บทเรียน “เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน MLOps Academy นี้ได้ไหม
ได้ บทเรียน MLOps Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ
บทเรียนทั้งหมดในหลักสูตรนี้
- ปลายทาง /predict แรกของคุณ
- ตรวจสอบคำขอด้วย Pydantic
- โหลดโมเดลเพียงครั้งเดียวตอนเริ่มต้น
- เพิ่มการตรวจสอบความพร้อมใช้งานที่ /health