OpsCanary
kubernetesschedulingPractitioner

Dynamic Resource Allocation in Kubernetes: Does It Replace HAMi?

5 min read CNCF BlogAug 7, 2026Reviewed for accuracy
Share
PractitionerHands-on experience recommended

Dynamic Resource Allocation (DRA) exists to streamline resource management in Kubernetes. It addresses the limitations of traditional integer counting by introducing a claims model, similar to PersistentVolumeClaims (PVC). This model allows the scheduler to allocate specific devices to claims before binding pods, enhancing the granularity of resource allocation. However, it does not inherently provide the sharing capabilities that HAMi offers, which is critical for workloads that require more nuanced resource distribution.

DRA operates by allowing multiple pods to reference a single ResourceClaim, leading to shared allocations rather than distinct slices. The introduction of consumable capacity, which is enabled by the DRAConsumableCapacity feature gate, bridges the gap between DRA and HAMi’s model. This feature allows for more sophisticated resource management, particularly in environments where multiple workloads need to coexist on the same hardware. The configuration parameters, such as DRAConsumableCapacity being enabled by default since v1.36, are essential for leveraging these capabilities effectively.

In production, be aware that while DRA simplifies resource allocation, it also introduces complexities. A key gotcha is that workloads bypassing the preload can escape the intended resource management, leading to potential inefficiencies. As of Kubernetes v1.34, DRA is generally available, but extensions like partitionable devices are still in beta, so keep an eye on version compatibility when deploying. Understanding these nuances will help you optimize resource usage and avoid pitfalls in your Kubernetes environment.

Key takeaways

  • Understand that DRA replaces integer counting with a claims model for resource allocation.
  • Utilize the DRAConsumableCapacity feature for enhanced resource sharing capabilities.
  • Be cautious of workloads that bypass the preload, as they can escape intended resource management.
  • Remember that multiple pods can reference one ResourceClaim, leading to shared allocations.
  • Keep track of Kubernetes version updates, as extensions are still graduating at their own pace.

Why it matters

In production, effective resource allocation can significantly impact application performance and cost efficiency. DRA's model can lead to better resource utilization, especially in multi-tenant environments.

Code examples

YAML
resources:
  limits:
    nvidia.com/gpu: 1        # device IDs from 1 physical card
    nvidia.com/gpumem: 8000  # MiB of that card's VRAM
    nvidia.com/gpucores: 10  # 10% of compute, in 1% steps
YAML
hami.io/vgpu-devices-allocated: GPU-<device-uuid>,NVIDIA,8000,10:

When NOT to use this

The official docs don't call out specific anti-patterns here. Use your judgment based on your scale and requirements.

Want the complete reference?

Read official docs

Test what you just learned

Quiz questions written from this article

Take the quiz →
Linux FoundationSponsor

Industry-standard certifications built by the people behind Linux and Kubernetes. Earn the CKA — the gold standard Kubernetes administrator cert. OpsCanary readers get 30% off year-round with code OPSCANARY3.

Get CKA certified →

Get the daily digest

One email. 5 articles. Every morning.

No spam. Unsubscribe anytime.