Kamaji and HAMi enable multi-tenant GPU Kubernetes workloads
Combining Kamaji and HAMi allows for isolated Kubernetes control planes while enabling fractional GPU sharing among tenants.
Summary
A new implementation demonstrates how to solve the trade-off between control plane costs and resource isolation in GPU-heavy environments. By combining Kamaji, which runs tenant control planes as pods, with HAMi, which allows for fractional GPU requests (memory and compute), users can achieve high isolation and efficient hardware utilization. The setup was successfully validated on simulated hardware using HAMi's mock device plugin.
Solving the GPU isolation and control plane dilemma
- Kamaji manages multiple tenant Kubernetes control planes as pods within a single management cluster.
- HAMi enables fractional GPU scheduling, allowing pods to request specific amounts of memory (MB) and compute (%).
- The architecture uses Konnectivity tunnels to allow the management cluster's API server to communicate with webhooks on tenant worker nodes.
- Testing was performed using a mock device plugin to simulate NVIDIA A100 and L4 cards without physical hardware.
- Tenants remain isolated as they do not share nodes or API servers, only sharing the management cluster and a separate etcd datastore.
Why it matters
This approach provides a scalable pattern for cloud-native organizations to manage expensive GPU resources across multiple teams without the overhead of full cluster duplication.
Original reference: www.cncf.io →