MLOps Academy · Урок

Добавление проверки готовности /health

Сообщайте оркестраторам, когда сервис готов обрабатывать запросы

Урок 4 из 413 шагов

«Добавление проверки готовности /health» — бесплатный урок MLOps Academy на CoddyKit. Это урок 4 из 4. Ты можешь прочитать весь урок бесплатно ниже — а потом практиковать его прямо в браузере с встроенным редактором кода и ИИ-репетитором 24/7. Это часть пути обучения MLOps Academy, и твой прогресс синхронизируется между веб-версией и приложением CoddyKit. Курс MLOps Academy содержит 4 уроков всего.

Как кластер узнаёт состояние сервиса

Оркестраторам, таким как Kubernetes, нужно узнавать у сервиса: работает ли он и готов ли принимать трафик? На это отвечает конечная точка health. 🩺

Проверка работоспособности и готовности

Проверка работоспособности определяет, запущен ли процесс. Проверка готовности определяет, может ли он уже обслуживать запросы. Это два разных вопроса.

Простой маршрут проверки состояния

Самая простая проверка — GET /health, возвращающий ok. Если процесс вообще может ответить, значит, он как минимум работает.

@app.get("/health")
def health():
    return {"status": "ok"}

Для готовности нужна модель

Для машинного обучения одной работоспособности недостаточно. Настоящая проверка готовности подтверждает, что модель полностью загрузилась, прежде чем сервис начнёт принимать трафик предсказаний.

Проверьте загруженную модель

Проверьте app.state, чтобы узнать, присутствует ли модель. Если там всё ещё None, сервис пока не готов.

ready = app.state.model is not None

Сообщите о неготовности с кодом 503

Если модель не загружена, верните статус 503, чтобы оркестратор не направлял трафик, пока сервис не будет готов.

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. Платформа периодически выполняет эти проверки.

Делайте проверки лёгкими

Пробы выполняются часто, поэтому проверка состояния должна быть дешёвой. Никогда не запускайте внутри неё настоящее предсказание модели и не обращайтесь к медленной базе данных.

Выполняйте развёртывания без простоя

Проверки готовности позволяют выполнять поэтапные обновления: новые модули получают трафик только после того, как становятся готовыми, поэтому пользователи не обращаются к ещё не запущенному экземпляру. 🚦

Почему это важно

Конечные точки проверки состояния и готовности помогают сервису модели быть надёжным участником любого кластера, обеспечивая безопасное масштабирование, перезапуски и развёртывания. ✅

Быстрая проверка

Ваша модель всё ещё загружается, и проба готовности обращается к /ready. Что должна вернуть конечная точка?

Итоги

Вы отделили проверку работоспособности от проверки готовности, возвращали 503 до загрузки модели и подключили пробы для безопасных развёртываний. Теперь сервис готов к работе в кластере! 🙌

Можно начать бесплатно

Изучай Python с ИИ-репетитором — бесплатно

Пиши и запускай код прямо в браузере, получай мгновенную помощь от ИИ-репетитора 24/7 и продолжи учиться на сайте или в приложении.

Курсы
30
Уроки
120

Часто задаваемые вопросы

Урок «Добавление проверки готовности /health» бесплатный?

Да — полный текст урока «Добавление проверки готовности /health» бесплатно доступен здесь в веб-версии. Чтобы практиковать его интерактивно (встроенный редактор кода и ИИ-репетитор 24/7) и разблокировать остальной курс MLOps Academy, подпишись на CoddyKit PRO. Курс MLOps Academy содержит 4 уроков всего.

Чему я научусь в уроке «Добавление проверки готовности /health»?

Сообщайте оркестраторам, когда сервис готов обрабатывать запросы Ты практикуешь MLOps Academy с помощью реального кода, который запускаешь прямо в браузере, и ИИ-репетитор 24/7 отвечает на твои вопросы во время урока.

Нужен ли мне опыт, чтобы начать MLOps Academy?

Предыдущий опыт не требуется. MLOps Academy на CoddyKit структурирован для всех уровней — от новичков до продвинутых, поэтому ты можешь начать отсюда или с самого начала и учиться в своем темпе. Это урок 4 из 4.

Сколько времени занимает урок «Добавление проверки готовности /health»?

Большинство уроков CoddyKit занимают около 5–10 минут. Каждый из них компактный и интерактивный, поэтому ты постоянно делаешь прогресс и продолжаешь с того же места в веб-версии и приложении.

Можно ли писать и запускать код в этом уроке MLOps Academy?

Да. Каждый урок MLOps Academy включает встроенный редактор кода, поэтому ты пишешь и запускаешь реальный код прямо в браузере и получаешь моментальную обратную связь от AI — локальная установка не требуется.

Все уроки этого курса

  1. Первая конечная точка /predict
  2. Проверка запросов с помощью Pydantic
  3. Однократная загрузка модели при запуске
  4. Добавление проверки готовности /health
← Назад к MLOps Academy