Skip to content

Add nvidia.com/gpu toleration to Ray Serve GPU workloads #14

Description

@dcmcand

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.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Fields

Priority

Critical

Start date

None yet

Target date

None yet

Size

None yet

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions