Ferramenta de linha de comando que instala K3s Kubernetes por SSH em uma VM local ou remota e busca um kubeconfig para acessar o cluster com kubectl.
Project-HAMi/HAMi
Middleware para Kubernetes que compartilha GPUs e outros aceleradores de IA entre pods por memória e capacidade de processamento, com agendamento que considera os dispositivos.
- Estrelas
- 4,896
- Forks
- 872
- Issues abertas
- 33
- Último commit
- há 9 horas
O que é?
O HAMi (Heterogeneous AI Computing Virtualization Middleware, anteriormente k8s-vGPU-scheduler) permite que equipes de plataforma compartilhem GPUs caras e outros aceleradores de IA entre cargas de trabalho no Kubernetes. Os pods solicitam uma fração de um dispositivo por memória ou número de núcleos usando limites padrão de recursos do Kubernetes, sem exigir alterações no código das aplicações.
Ele é composto por um webhook mutável, um extensor do scheduler, plugins de dispositivos e componentes de virtualização executados dentro dos contêineres. O agendamento oferece políticas de binpack, spread, reconhecimento de topologia, mutex e NUMA, e as instâncias NVIDIA MIG podem ser criadas e liberadas dinamicamente. Entre os backends compatíveis estão NVIDIA, AMD, Huawei Ascend, Cambricon, Hygon, Iluvatar, Kunlunxin, MetaX, Moore Threads e outros.
A instalação é feita via Helm, com réplicas opcionais do scheduler para alta disponibilidade, métricas do Prometheus e uma WebUI complementar. É um projeto CNCF Incubating.
Recursos principais
- 01Compartilha GPUs por limites de memória e núcleos usando solicitações de recursos padrão do Kubernetes.
- 02Agenda pods com políticas de binpack, spread, reconhecimento de topologia, mutex e NUMA.
- 03Oferece suporte a NVIDIA MIG com gerenciamento dinâmico de instâncias.
- 04Compatível com vários fabricantes de aceleradores, incluindo Ascend, Cambricon, Hygon e MetaX.
- 05Disponibiliza métricas do Prometheus e oferece uma WebUI e dashboards do Grafana.
Casos de uso
- Aumentar a utilização de GPUs em clusters de IA compartilhados no Kubernetes.
- Executar cargas de trabalho multi-tenant de notebooks, treinamento e inferência em um único pool de aceleradores.
- Criar plataformas privadas de IA na nuvem com controle de cotas para alocação de dispositivos.
- Operar clusters de aceleradores de diferentes fabricantes em um único fluxo de agendamento.
Início rápido
- 1
Rotule os nós de GPU para que o HAMi possa gerenciá-los
kubectl label nodes <node-name> gpu=on - 2
Adicione o repositório Helm do HAMi
helm repo add hami-charts https://project-hami.github.io/HAMi/ - 3
Instale o HAMi com Helm no kube-system
helm install hami hami-charts/hami -n kube-system - 4
Verifique se hami-device-plugin e hami-scheduler estão em estado Running
kubectl get pods -n kube-system
Antes de usar
- É necessário um cluster Kubernetes com Helm. Para usar o caminho NVIDIA, também são necessários o driver NVIDIA e o toolkit de contêineres.
- Para ser útil, o cluster precisa ter hardware acelerador nos nós.
Tópicos
Perguntas frequentes
- O que é HAMi?
- Middleware para Kubernetes que compartilha GPUs e outros aceleradores de IA entre pods por memória e capacidade de processamento, com agendamento que considera os dispositivos. O HAMi (Heterogeneous AI Computing Virtualization Middleware, anteriormente k8s-vGPU-scheduler) permite que equipes de plataforma compartilhem GPUs caras e outros aceleradores de IA entre cargas de trabalho no Kubernetes. Os pods solicitam uma fração de um dispositivo por memória ou número de núcleos usando limites padrão de recursos do Kubernetes, sem exigir alterações no código das aplicações.
- HAMi é gratuito? Qual é a licença?
- HAMi é open source sob a licença Apache-2.0. Confira os termos da licença antes de usá-lo em produtos comerciais.
- HAMi ainda é mantido?
- Manutenção ativa. O último commit de HAMi foi em 21 de out. de 2026.
- Para que posso usar HAMi?
- Aumentar a utilização de GPUs em clusters de IA compartilhados no Kubernetes. Executar cargas de trabalho multi-tenant de notebooks, treinamento e inferência em um único pool de aceleradores. Criar plataformas privadas de IA na nuvem com controle de cotas para alocação de dispositivos. Operar clusters de aceleradores de diferentes fabricantes em um único fluxo de agendamento.
- Como instalar HAMi?
- Rotule os nós de GPU para que o HAMi possa gerenciá-los: kubectl label nodes <node-name> gpu=on Adicione o repositório Helm do HAMi: helm repo add hami-charts https://project-hami.github.io/HAMi/ Instale o HAMi com Helm no kube-system: helm install hami hami-charts/hami -n kube-system Verifique se hami-device-plugin e hami-scheduler estão em estado Running: kubectl get pods -n kube-system
- Onde consigo HAMi?
- O código-fonte e as instruções de instalação estão no GitHub: https://github.com/Project-HAMi/HAMi
Resumo gerado por IA a partir do README do projeto. As estatísticas do GitHub são atualizadas diariamente.
Projetos relacionados
Um gateway de API nativo do Kubernetes que implementa a Gateway API com Envoy e atende a casos de uso de gateway de IA.
Console de gerenciamento do service mesh Istio que visualiza o tráfego, a topologia e a integridade da configuração em um cluster Kubernetes.
Configuração de deploy com Docker Compose e Kubernetes para hospedar o Huly, uma plataforma open source completa de colaboração em equipe.
Plataforma cloud-native de código aberto que unifica KVM local, bare metal, vSphere e várias nuvens públicas em um único conjunto de APIs.
Um operador do Kubernetes que implanta e gerencia aplicações Ray por meio dos recursos RayCluster, RayJob e RayService.