Устанавливает K3s Kubernetes на удалённую или локальную VM через CLI, используя SSH, и получает kubeconfig для доступа через kubectl.
Project-HAMi/HAMi
Middleware для Kubernetes, который делит GPU и другие AI-ускорители между подами по памяти и вычислительным ресурсам и учитывает устройства при планировании.
- Звёзды
- 4,896
- Форки
- 872
- Открытые issues
- 33
- Последний коммит
- 8 часов назад
Что это?
HAMi (Heterogeneous AI Computing Virtualization Middleware, ранее k8s-vGPU-scheduler) позволяет платформенным командам распределять дорогие GPU и другие AI-ускорители между нагрузками в Kubernetes. Подам можно выделить часть устройства по объёму памяти или числу ядер через стандартные лимиты ресурсов Kubernetes, поэтому менять код приложений не нужно.
В состав входят mutating webhook, расширение планировщика, плагины устройств и компоненты виртуализации внутри контейнеров. При планировании поддерживаются политики binpack, spread, topology-aware, mutex и NUMA; экземпляры NVIDIA MIG можно создавать и освобождать динамически. Среди поддерживаемых платформ — NVIDIA, AMD, Huawei Ascend, Cambricon, Hygon, Iluvatar, Kunlunxin, MetaX, Moore Threads и другие.
Установка выполняется через Helm; доступны дополнительные реплики планировщика для высокой доступности, метрики Prometheus и сопутствующий WebUI. Проект имеет статус CNCF Incubating.
Ключевые возможности
- 01Делит GPU по лимитам памяти и числа ядер, используя стандартные запросы ресурсов Kubernetes.
- 02Планирует поды с политиками binpack, spread, topology-aware, mutex и NUMA.
- 03Поддерживает NVIDIA MIG с динамическим управлением экземплярами.
- 04Поддерживает ускорители разных производителей, включая Ascend, Cambricon, Hygon и MetaX.
- 05Предоставляет метрики Prometheus, WebUI и дашборды Grafana.
Сценарии использования
- Повышение утилизации GPU в общих AI-кластерах Kubernetes.
- Запуск многопользовательских сред для ноутбуков, обучения и инференса на общем пуле ускорителей.
- Создание частных облачных AI-платформ с квотами на выделение устройств.
- Управление кластерами с ускорителями разных производителей в рамках единого процесса планирования.
Быстрый старт
- 1
Добавьте метки GPU-узлам, чтобы HAMi мог ими управлять
kubectl label nodes <node-name> gpu=on - 2
Добавьте Helm-репозиторий HAMi
helm repo add hami-charts https://project-hami.github.io/HAMi/ - 3
Установите HAMi с помощью Helm в kube-system
helm install hami hami-charts/hami -n kube-system - 4
Убедитесь, что hami-device-plugin и hami-scheduler находятся в состоянии Running
kubectl get pods -n kube-system
Что важно знать
- Требуется кластер Kubernetes с Helm. Для использования варианта с NVIDIA также необходимы драйвер NVIDIA и инструментарий для контейнеров.
- Для эффективного использования на узлах кластера должно быть установлено ускорительное оборудование.
Темы
Частые вопросы
- Что такое HAMi?
- Middleware для Kubernetes, который делит GPU и другие AI-ускорители между подами по памяти и вычислительным ресурсам и учитывает устройства при планировании. HAMi (Heterogeneous AI Computing Virtualization Middleware, ранее k8s-vGPU-scheduler) позволяет платформенным командам распределять дорогие GPU и другие AI-ускорители между нагрузками в Kubernetes. Подам можно выделить часть устройства по объёму памяти или числу ядер через стандартные лимиты ресурсов Kubernetes, поэтому менять код приложений не нужно.
- HAMi можно использовать бесплатно? Какая у него лицензия?
- HAMi распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- HAMi всё ещё поддерживается?
- Активно поддерживается. Последний коммит в HAMi — 21 окт. 2026 г..
- Для чего можно использовать HAMi?
- Повышение утилизации GPU в общих AI-кластерах Kubernetes. Запуск многопользовательских сред для ноутбуков, обучения и инференса на общем пуле ускорителей. Создание частных облачных AI-платформ с квотами на выделение устройств. Управление кластерами с ускорителями разных производителей в рамках единого процесса планирования.
- Как установить HAMi?
- Добавьте метки GPU-узлам, чтобы HAMi мог ими управлять: kubectl label nodes <node-name> gpu=on Добавьте Helm-репозиторий HAMi: helm repo add hami-charts https://project-hami.github.io/HAMi/ Установите HAMi с помощью Helm в kube-system: helm install hami hami-charts/hami -n kube-system Убедитесь, что hami-device-plugin и hami-scheduler находятся в состоянии Running: kubectl get pods -n kube-system
- Где скачать HAMi?
- Исходный код и инструкции по установке — на GitHub: https://github.com/Project-HAMi/HAMi
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Нативный для Kubernetes API-шлюз на базе Envoy, реализующий Gateway API и поддерживающий сценарии использования AI-шлюза.
Консоль управления сервисной сеткой Istio: визуализирует трафик, топологию и состояние конфигурации в кластере Kubernetes.
Конфигурация для развёртывания Huly через Docker Compose или Kubernetes на собственном сервере — платформы для командной работы с открытым исходным кодом.
Open-source облачная платформа, объединяющая локальные KVM- и bare-metal-серверы, vSphere и множество публичных облаков через единый набор API.
Оператор Kubernetes для развёртывания и управления приложениями Ray с помощью ресурсов RayCluster, RayJob и RayService.