Как последняя версия Kubernetes теперь справляется с рабочими нагрузками искусственного интеллекта и многое другое
Помимо решения проблем контейнерного программного обеспечения с заданиями искусственного интеллекта и машинного обучения, Kubernetes 1.31 предлагает несколько ключевых улучшений безопасности.
Kubernetes, система оркестрации управления контейнерами, оказалась жизненно важной для современных вычислений, за исключением одной области: искусственного интеллекта (ИИ) и машинного обучения (МО). Проблема: AI/ML требует значительных ресурсов ЦП, памяти и графического процессора, которыми нелегко управлять в Kubernetes.
Теперь, выпустив последнюю версию Kubernetes — Kubernetes 1.31, Elli — Cloud Native Computing Foundation (CNCF) решает эти проблемы.
Улучшенные функции искусственного интеллекта Elli начинаются с альфа-поддержки изображений и артефактов Open Container Initiative (OCI) в качестве собственного источника томов. Возможно, это звучит не так уж и много, но это позволяет разработчикам отключать большие языковые модели (LLM) так же легко, как они это делают с обычными образами контейнеров.
Элли также предлагает обновленный API и дизайн динамического распределения ресурсов в Kubernetes. Эта функция поможет стандартизировать доступ и управление аппаратными ускорителями, такими как графические процессоры, которые необходимы для искусственного интеллекта и машинного обучения. Это также упрощает реализацию таких функций, как автоматическое масштабирование кластера, что, в свою очередь, упростит выполнение заданий AI и ML в Kubernetes.
Раньше у Kubernetes было несколько способов доступа к базовому оборудованию хоста. Обновленное динамическое распределение ресурсов (DRA) обеспечивает более простой способ доступа к системным ресурсам. Старый стиль, в котором используется контроллер драйвера DRA, по-прежнему поддерживается через «классический DRA».
Оставив позади искусственный интеллект, Kubernetes теперь также полностью поддерживает AppArmor, модуль безопасности ядра Linux, который позволяет системным администраторам ограничивать возможности программ с помощью профилей для каждой программы. Эта функция стала общедоступной, позволяя пользователям настраивать профили AppArmor для контейнеров непосредственно через API Kubernetes. При правильной реализации поддержка AppArmour поможет сделать кластеры и рабочие нагрузки Kubernetes более безопасными.
Что касается безопасности, новая дополнительная функция позволяет администраторам настраивать конечные точки таким образом, чтобы анонимные запросы на доступ могли блокироваться. Это поможет защитить кластеры от неправильных настроек управления доступом на основе ролей (RBAC), которые в противном случае могли бы предоставить анонимным пользователям широкий доступ к кластеру.
Будучи постоянно развивающейся программой с открытым исходным кодом, Kubernetes 1.31 также продолжает оптимизировать и модернизировать свою кодовую базу, отказываясь от устаревших функций. Это включает в себя:
- Удаление внутридеревьевой интеграции поставщиков облачных услуг. Завершая процесс, начатый в версии 1.26, Kubernetes 1.31 удаляет все внутридеревовские интеграции поставщиков облачных услуг. Этот шаг является частью постоянных усилий, направленных на то, чтобы Kubernetes оставался нейтральной платформой с точки зрения поставщиков. Вы по-прежнему можете интегрировать свои кластеры Kubernetes с конкретным поставщиком облачных услуг. Однако вы не сможете сделать это изнутри Kubernetes. Вам придется использовать рекомендуемый подход посредством внешней интеграции.
- Устаревшие плагины ограничения объема, не относящиеся к CSI. В выпуске устарели все плагины планировщика ограничения объема, не относящиеся к CSI, что соответствует стратегии Kubernetes по переходу на интерфейс хранилища контейнеров (CSI) для всех функций, связанных с хранилищем.
- Устаревшая Cgroups v1: Cgroups — это функция ядра Linux, которая позволяет распределять системные ресурсы, определять их приоритеты и управлять ими между процессами. С этого момента вам следует использовать cgroups v2.
Если сложить все это воедино, то этот выпуск — это нечто большее, чем просто создание дружественных возможностей Kubernetes для искусственного интеллекта. Ангелос Колайтис, старший инженер-программист Canonical и руководитель группы по выпуску Kubernetes 1.31, сказал, что этот новый выпуск призван «убрать сложность и детали, специфичные для реализации, из кода Kubernetes, заставить Kubernetes сосредоточиться на желаемом состоянии и оставить все реализаций, весь дополнительный исходный код за ее пределами».
Помимо новых функций, Колайтис сказал: «Вам не нужно ничего делать, но Kubernetes предпримет дополнительные шаги, чтобы убедиться, что ваши рабочие нагрузки работают, надежны и можно рассчитывать на то, что ваши производственные сервисы не сломаются». ."
Новые функции — это хорошо, но стабильность — золото. Только по этой причине я рекомендую как можно скорее изучить обновление Kubernetes 1.31.