Dynamic Resource Allocation (DRA) Architecture

Dynamic Resource Allocation (DRA) Architecture An architecture diagram generated by Archify. DeviceClass · Define device types · resource.k8s.io/v1 · CEL selectors DeviceClass Define device types CEL selectors ResourceClaim · Request devices · resource.k8s.io/v1 ResourceClaim Request devices ResourceClaimTemplate · Per-pod claim creation · resource.k8s.io/v1 ResourceClaimTemplate Per-pod claim creation DRA Driver · nvidia, intel, etc. · Architecture component DRA Driver nvidia, intel, etc. Scheduler · Device-aware scheduling · Architecture component Scheduler Device-aware scheduling Kubelet · Device preparation · Architecture component Kubelet Device preparation deviceClassName deviceClassName device info allocated claim prepare devices resource.k8s.io/v1 Legend Kubernetes components DRA API objects Vendor DRA driver

API objects (GA in 1.34)

  • • DeviceClass selects hardware with CEL expressions (driver, attributes)
  • • ResourceClaim requests a count of devices with constraints such as matchAttribute
  • • ResourceClaimTemplate auto-creates a claim per pod

Pod usage

  • • Pod lists claims under spec.resourceClaims
  • • Containers reference them via resources.claims
  • • Replaces the legacy device plugin model