← Back to reference

Ray Kuberay Guide

Prerequisites

  • Ray ≥ 2.7
  • KubeRay operator ≥ 1.13 (K8s) or vanilla Ray cluster
  • Helm ≥ 3.13 (for K8s path)

Option 1: K8s + KubeRay

Step 1: Install the KubeRay operator

helm repo add kuberay https://ray-project.github.io/kuberay-helm
helm install kuberay-operator kuberay/kuberay-operator \
    --namespace ray-system --create-namespace

Step 2: Apply the Ray collector

kubectl apply -f https://charts.denpex.ai/rbac/ray.yaml

This deploys:

  • denpex-ray-collector as a sidecar on each RayCluster.
  • Watches the Ray GCS for /api/cluster_status, /api/actors, /api/placement_groups.

Step 3: Enable Denpex on the cluster

In your RayCluster CR:

spec:
  workerGroupSpecs:
    - groupName: gpu-workers
      template:
        spec:
          containers:
            - name: ray-worker
              env:
                - name: DENPEX_AGENT_ENABLE
                  value: "true"
                - name: DENPEX_AGENT_ENDPOINT
                  value: https://denpex-cp.example.com:4317

Option 2: Vanilla Ray

# On each Ray node
pip install denpex-agent
denpex-agent start --ray-node-ip $(hostname -i)

What We Detect

  • Actor death rate.
  • Object store pressure.
  • GCS heartbeat.
  • Autoscaler events.

Test Coverage

tests/integration/ray/ mocks the Ray endpoints via wiremock.

Compatibility

  • Ray 2.7, 2.8, 2.9, 2.10.
  • KubeRay 1.13, 1.14, 1.15.