Background
nebari-dev/nebari-infrastructure-core#370 makes NIC automatically taint AWS GPU node groups with nvidia.com/gpu=true:NoSchedule, so only pods that tolerate it land on GPU nodes.
Nothing injects the toleration for us on EKS:
- The NVIDIA GPU Operator only tolerates this taint on its own operands, not on Ray workloads.
- The
ExtendedResourceToleration admission controller is not available on EKS, so GPU-requesting pods do not get an automatic toleration. AWS's GPU guide hand-writes the toleration on every example.
Once #370 lands, Ray Serve head/worker pods that request GPUs will stop scheduling onto GPU nodes unless they tolerate the taint.
Request
Add a toleration for nvidia.com/gpu to the GPU-bearing Ray workloads this pack deploys. For the RayService CRD this means setting the toleration on the worker group pod template (and the head if it requests a GPU), ideally only for groups that request nvidia.com/gpu. The toleration:
tolerations:
- key: "nvidia.com/gpu"
operator: "Exists"
effect: "NoSchedule"
operator: Exists matches any taint value, so it works with NIC's value: "true" and any other.
Acceptance criteria
- A Ray Serve worker group that requests a GPU schedules onto a node tainted
nvidia.com/gpu=true:NoSchedule and serves.
- Ray pods that do not request a GPU are unchanged.
Blocks
This blocks nebari-dev/nebari-infrastructure-core#370. The taint should not roll out until GPU Ray workloads tolerate it.
Background
nebari-dev/nebari-infrastructure-core#370 makes NIC automatically taint AWS GPU node groups with
nvidia.com/gpu=true:NoSchedule, so only pods that tolerate it land on GPU nodes.Nothing injects the toleration for us on EKS:
ExtendedResourceTolerationadmission controller is not available on EKS, so GPU-requesting pods do not get an automatic toleration. AWS's GPU guide hand-writes the toleration on every example.Once #370 lands, Ray Serve head/worker pods that request GPUs will stop scheduling onto GPU nodes unless they tolerate the taint.
Request
Add a toleration for
nvidia.com/gputo the GPU-bearing Ray workloads this pack deploys. For theRayServiceCRD this means setting the toleration on the worker group pod template (and the head if it requests a GPU), ideally only for groups that requestnvidia.com/gpu. The toleration:operator: Existsmatches any taint value, so it works with NIC'svalue: "true"and any other.Acceptance criteria
nvidia.com/gpu=true:NoScheduleand serves.Blocks
This blocks nebari-dev/nebari-infrastructure-core#370. The taint should not roll out until GPU Ray workloads tolerate it.