# \[kuberay\]\[rayVersion\]Is the rayVersion field in kuberay no longer useful?

**URL:** <https://discuss.ray.io/t/kuberay-rayversion-is-the-rayversion-field-in-kuberay-no-longer-useful/23241>\
**Category:** Uncategorized\
**Created:** [October 13, 2025, 3:44pm UTC](https://discuss.ray.io/t/kuberay-rayversion-is-the-rayversion-field-in-kuberay-no-longer-useful/23241 "2025-10-13T15:44:21Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![Jackie\_Chen](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/jackie_chen/32/8296_2.png) [@Jackie\_Chen](https://discuss.ray.io/u/Jackie_Chen)\
**Post date:** [October 13, 2025, 3:44pm UTC](https://discuss.ray.io/t/kuberay-rayversion-is-the-rayversion-field-in-kuberay-no-longer-useful/23241/1 "2025-10-13T15:44:21Z")

</div>

I tried it, and when starting RayJob or RayService through kuberay, not setting the rayVersion field has no impact on the program running.

So, what is the role of this rayVersion field?

---

<div class="post-metadata">

**Author:** ![RunLLM](https://sea2.discourse-cdn.com/flex020/user_avatar/discuss.ray.io/runllm/32/8249_2.png) [@RunLLM](https://discuss.ray.io/u/RunLLM)\
**Post date:** [October 13, 2025, 3:44pm UTC](https://discuss.ray.io/t/kuberay-rayversion-is-the-rayversion-field-in-kuberay-no-longer-useful/23241/2 "2025-10-13T15:44:46Z")

</div>

The `rayVersion` field in a RayCluster, RayJob, or RayService Kubernetes custom resource specifies the version of Ray to use for the cluster. Its main role is to fill default values for certain config fields and ensure that the Ray container images specified in your resource spec match the intended Ray version. If you use a nightly or development Ray image, it’s acceptable to set `rayVersion` to the latest release version. However, in many cases, omitting this field does not prevent the cluster from running, especially if the image tags in your pod specs are set explicitly and are compatible with your workloads. The field is not always strictly required, but it helps with version consistency and may be used by some tools or controllers for validation or defaulting purposes.

According to the documentation, the `rayVersion` field is used to fill default values for certain config fields, and the Ray container images in the spec should match the `rayVersion` to avoid version mismatches. If you omit it, and your images are set correctly, your cluster may still work, but you lose this layer of version management and potential validation. For RayJob with `submissionMode: "K8sJobMode"`, omitting `rayVersion` may cause failures, but for standard RayCluster or RayService, it is often optional as long as your images are correct. Would you like more detail on specific scenarios where `rayVersion` is required or how it interacts with other fields?

Sources:

- [RayCluster Configuration (GitHub)](https://github.com/ray-project/ray/blob/releases/2.42.1/doc/source/cluster/kubernetes/user-guides/config.md)
- [KubeRay PR: Is rayVersion required?](https://github.com/ray-project/ray/pull/53403)

Hint: Mention @RunLLM in the post for followups.
