Repository navigation
nebari-rayserve-pack-0.3.0
What's new
Worker pods now reach Ready on a fresh install
Previously, KubeRay's default worker readiness/liveness probe chained raylet healthz with wget http://localhost:8000/-/healthz | grep success. The Serve check requires both a deployed Serve application and a local Serve HTTP proxy — neither of which holds on a fresh chart install. Worker pods would stay 0/1 Ready indefinitely with the confusing message Readiness probe failed: success.
This release overrides KubeRay's default worker probes with raylet-only checks. Kubernetes pod readiness now reflects whether the Ray node itself is healthy; Serve application health is tracked separately by the Serve controller and no longer gates K8s readiness.
New configurable values
serve.proxyLocation(defaultEveryNode) — controls where Ray Serve runs HTTP proxies. EveryNode places a proxy on every Ray pod, which matches typical KubeRay usage.worker.readinessProbe,worker.livenessProbe— exposed for tuning. Defaults to a raylet-only check; set to~(null) to fall back to KubeRay defaults.head.readinessProbe,head.livenessProbe— exposed for symmetry. Defaults to{}so KubeRay defaults apply unchanged.
Test coverage
The standalone integration test now installs with worker.replicas=1 and waits for the worker pod to reach Ready. Previously the test ran with replicas=0, which couldn't catch worker-side regressions.
References
Upgrade notes
For consumers pinning to a specific tag (e.g., ArgoCD targetRevision), update from nebari-rayserve-pack-0.1.0-alpha.1 to nebari-rayserve-pack-0.3.0.
If you were using the manual workaround of running serve.shutdown(); serve.start(proxy_location='EveryNode'); serve.run(...) to make workers Ready, that's no longer required — a fresh deploy of this chart will produce a healthy cluster without any Serve apps deployed.