Настраивайтесь на YOLO Vision 2025!
25 сентября 2025 г.
10:00 — 18:00 BST
Гибридное мероприятие
Yolo Vision 2024
Глоссарий

Kubernetes

Узнайте, как Kubernetes оптимизирует задачи ИИ/ML благодаря масштабируемому развертыванию моделей, распределенному обучению и эффективному управлению ресурсами.

Kubernetes, часто сокращенно K8s, — это платформа оркестрации контейнеров с открытым исходным кодом, которая автоматизирует развертывание, масштабирование и управление контейнеризированными приложениями. Kubernetes, первоначально разработанная Google, а теперь поддерживаемая Cloud Native Computing Foundation (CNCF), предоставляет надежную основу для запуска отказоустойчивых распределенных систем. В контексте искусственного интеллекта (ИИ) и машинного обучения (ML) она стала важным инструментом для управления всем жизненным циклом моделей ML, от обучения до развертывания в производственных средах.

Как работает Kubernetes

Kubernetes работает на кластере машин, которые могут быть физическими серверами или виртуальными машинами, локально или в облаке. Основные компоненты включают:

  • Кластер: Набор узлов (рабочих машин), которые запускают контейнеризированные приложения.
  • Узел (Node): Рабочая машина в кластере Kubernetes. Каждый узел запускает Kubelet, который является агентом для управления узлом и связи с плоскостью управления.
  • Pod (Под): Самая маленькая и простая единица в объектной модели Kubernetes. Pod представляет собой один экземпляр запущенного процесса в кластере и может содержать один или несколько контейнеров, таких как контейнеры Docker.
  • Развертывание: Управляет набором реплик Pod, гарантируя, что указанное их количество работает постоянно. Он автоматически обрабатывает обновления и откаты.

Абстрагируясь от аппаратного обеспечения, Kubernetes позволяет разработчикам и MLOps-инженерам определять желаемое состояние своего приложения и поддерживает это состояние, автоматически обрабатывая сбои и масштабируя ресурсы. Подробнее можно узнать в официальной документации Kubernetes.

Kubernetes в ИИ и машинном обучении

Kubernetes особенно эффективен для операций машинного обучения (MLOps), поскольку решает многие проблемы, связанные с созданием и развертыванием систем ИИ в масштабе. Его способность эффективно управлять ресурсами делает его идеальным для ресурсоемких задач, таких как обучение моделей. Kubernetes может масштабировать задачи обучения на несколько GPU и узлов, что значительно сокращает время обучения.

Для вывода Kubernetes обеспечивает высокую доступность и масштабируемость. Вот пара реальных примеров:

  1. Масштабируемая служба обнаружения объектов: Компания развертывает модель Ultralytics YOLO11 для обнаружения объектов в реальном времени в качестве веб-службы. Модель упакована в контейнер. Используя Kubernetes, они могут автоматически масштабировать количество модулей логического вывода вверх или вниз в зависимости от входящего трафика. Если узел выходит из строя, Kubernetes автоматически перепланирует модули на работоспособные узлы, обеспечивая доступность службы без ручного вмешательства. Это распространенный шаблон для развертывания моделей в системах интеллектуального видеонаблюдения.
  2. Сложный конвейер NLP как микросервисы: Команда создает приложение обработки естественного языка (NLP), которое включает в себя несколько этапов: предварительную обработку текста, анализ тональности и распознавание именованных сущностей. Каждый компонент является отдельным микросервисом, контейнеризированным независимо. Kubernetes оркеструет эти сервисы, управляя их сетью и позволяя каждой части обновляться и масштабироваться независимо. Эта архитектура обеспечивает гибкость и отказоустойчивость для сложных приложений на основе ИИ.

Kubernetes vs. Смежные технологии

  • Kubernetes и Docker: Docker — это инструмент для сборки и запуска отдельных контейнеров. Kubernetes — это оркестратор для контейнеров, управляющий тысячами контейнеров на множестве машин. Это не конкуренты, а помощники: вы создаете образы контейнеров с помощью Docker, а затем управляете ими с помощью Kubernetes. Вы можете начать с основ, следуя краткому руководству по Docker.
  • Kubernetes и бессерверные вычисления: Бессерверные платформы, такие как AWS Lambda, абстрагируются от управления серверами. Kubernetes, напротив, предоставляет больше контроля над инфраструктурой, что делает его лучше для длительных или stateful-приложений. В то время как бессерверные вычисления проще для функций, управляемых событиями, бессерверные фреймворки могут работать на Kubernetes с использованием таких инструментов, как Knative.

Инструменты и экосистема

Экосистема Kubernetes обширна и включает в себя множество инструментов для расширения ее функциональности:

  • Helm: Часто называемый менеджером пакетов для Kubernetes, Helm помогает управлять приложениями Kubernetes.
  • Prometheus & Grafana: Популярная комбинация для мониторинга кластеров и приложений Kubernetes.
  • Интеграция с облачными провайдерами: Крупные облачные провайдеры предлагают управляемые сервисы Kubernetes, такие как Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) и Azure Kubernetes Service (AKS), которые упрощают настройку и обслуживание кластера.
  • ML Platforms (платформы машинного обучения): Инструменты, такие как Kubeflow, построены на Kubernetes, чтобы обеспечить ML-специфичные рабочие процессы для конвейеров, обучения и развертывания. Платформы, такие как Ultralytics HUB, упрощают конвейер MLOps, часто абстрагируясь от сложностей Kubernetes для облегчения развертывания моделей.

Присоединяйтесь к сообществу Ultralytics

Присоединяйтесь к будущему ИИ. Общайтесь, сотрудничайте и развивайтесь вместе с мировыми новаторами

Присоединиться сейчас
Ссылка скопирована в буфер обмена