[cherry-pick][2.58.0][docs] Backport KubeRay v1.7 feature docs - #65730
[cherry-pick][2.58.0][docs] Backport KubeRay v1.7 feature docs#65730dstrodtman wants to merge 7 commits into
Conversation
## Description This PR documents the usage and limitation of the feature gate `SidecarSubmitterRestart`. ## Related issues KubeRay [#4285](ray-project/kuberay#4285) ## Additional information Preview links can be reviewed at [RayJob Quick Start Submission configuration](https://anyscale-ray--64303.com.readthedocs.build/en/64303/cluster/kubernetes/getting-started/rayjob-quick-start.html#rayjob-configuration) & [A more detailed user guide](https://anyscale-ray--64303.com.readthedocs.build/en/64303/cluster/kubernetes/user-guides/rayjob-sidecar-submitter-restart.html#kuberay-rayjob-sidecar-submitter-restart) --------- Signed-off-by: justinyeh1995 <justinyeh1995@gmail.com> Signed-off-by: Justin Yeh <justinyeh1995@gmail.com> Signed-off-by: JustinYeh <justinyeh1995@gmail.com> (cherry picked from commit 28fb2d4) Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
## Description Starting with KubeRay v1.7, incremental upgrade has reached Beta and supports rollback. Doc Link: https://anyscale-ray--65249.com.readthedocs.build/en/65249/cluster/kubernetes/user-guides/rayservice-incremental-upgrade.html ## Related issues ray-project/kuberay#4781 ## Additional information > Optional: Add implementation details, API changes, usage examples, screenshots, etc. --------- Signed-off-by: win5923 <ken89@kimo.com> (cherry picked from commit c860f56) Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
…65074) ## Description Adding documentation around the new NetworkPolicy feature in KubeRay. ## Related issues ray-project/kuberay#5030 ## Additional information N/A --------- Signed-off-by: Paul Nolan <pnolan@redhat.com> Co-authored-by: David Adamache <dadamach@redhat.com> Co-authored-by: Paul Nolan <pnolan@redhat.com> (cherry picked from commit 82ea275) Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
…65429) ## Why The embedded RocksDB GCS backend page told readers the feature wasn't in a Ray release yet and pointed its manifest at `rayproject/ray:nightly`. The Ray half of that is no longer true: the backend shipped in **2.57.0** (`_is_rocksdb_gcs` is present in `ray-2.57.0`, absent in `ray-2.56.1`), and `rayproject/ray:2.57.0` resolves on Docker Hub. Beyond the expired claim, a floating tag isn't the right way to flag a preview feature. Docs land on `master` immediately but aren't published until they ship to `latest`, which tracks a Ray release, so by the time a reader sees this page the feature is in a release by construction. Naming the release that introduced it is both accurate and more useful than a nightly build. ## What changed - Pin both container images to `rayproject/ray:2.57.0` instead of `nightly`. - Replace the "isn't in a stable Ray release yet" prerequisite with the concrete floor: Ray 2.57.0 or later. - State the KubeRay prerequisite as KubeRay v1.7 or later, per @andrewsykim's review. `GCSFaultToleranceEmbeddedStorage` is on KubeRay master and absent from `v1.6.2`, the current release, so v1.7 is the release that ships the gate. The alpha admonition stays. The feature is alpha and gated off by default, which is independent of which release contains it. ## Verification - `_is_rocksdb_gcs` present in `git show ray-2.57.0:python/ray/_private/node.py`, absent in `ray-2.56.1`. - `rayproject/ray:2.57.0` returns 200 from the Docker Hub tag API. - `GCSFaultToleranceEmbeddedStorage` present in `ray-operator/pkg/features/features.go` on kuberay master, absent at tag `v1.6.2`. --------- Signed-off-by: Douglas Strodtman <douglas@anyscale.com> (cherry picked from commit bbc0cc3) Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
## Description Found some bug in the docs while testing with `v1.7.0-rc.0`. This is the PR updating those docs. 1. `doc/source/cluster/kubernetes/user-guides/k8s-events.md`: official ray image does not include `kubernetes` Python package 2. `doc/source/cluster/kubernetes/user-guides/network-policy.md`: set a wrong field, should be `networkPolicy` ## Related issues > Link related issues: "Fixes #1234", "Closes #1234", or "Related to #1234". ## Additional information > Optional: Add implementation details, API changes, usage examples, screenshots, etc. --------- Signed-off-by: machichima <nary12321@gmail.com> (cherry picked from commit 7b8ebcb) Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
KubeRay 1.7 added `ingressOptions` on `headGroupSpec` (ray-project/kuberay#4901), which lets the operator generate the head-service Ingress with a custom host, path, path type, and TLS configuration. The feature landed without documentation, and this page currently only covers writing Ingress and Gateway manifests by hand. This adds a "KubeRay built-in Ingress" section covering `enableIngress`, the `ingressOptions` fields and their defaults, and the fact that the ingress class comes from the `kubernetes.io/ingress.class` annotation on the RayCluster rather than from `ingressOptions`. Closes ray-project/kuberay#5127 `ingressOptions` isn't in KubeRay v1.6.0, and v1.7.0 isn't tagged yet (latest release is v1.6.2), so the helm command pins `1.7.0` on the assumption this doc lands with the 1.7.0 release. Happy to change the pin if you'd prefer otherwise. --------- Signed-off-by: wuallen57730 <yuwu11926@gmail.com> (cherry picked from commit d67f69b) Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
There was a problem hiding this comment.
Code Review
This pull request updates the KubeRay documentation to cover features introduced in KubeRay v1.7.0, including built-in Ingress support, NetworkPolicies, RayJob sidecar submitter restarts, and RayService incremental upgrade rollbacks. The review feedback recommends updating the installation examples to reference KubeRay v1.7.0 instead of v1.6.0, and updating the Ray version in the sidecar restart guide to v2.58.0 to align with the target release branch.
| kubectl create namespace ray-system | ||
| helm install kuberay-operator kuberay/kuberay-operator --version 1.6.0 -n ray-system |
There was a problem hiding this comment.
Since this PR backports KubeRay v1.7 features (such as ingressOptions, NetworkPolicy, and SidecarSubmitterRestart), the operator installation guide should be updated to install KubeRay v1.7.0 instead of v1.6.0. Otherwise, users following this guide will not be able to use the newly documented features.
| kubectl create namespace ray-system | |
| helm install kuberay-operator kuberay/kuberay-operator --version 1.6.0 -n ray-system | |
| kubectl create namespace ray-system | |
| helm install kuberay-operator kuberay/kuberay-operator --version 1.7.0 -n ray-system |
| kubectl create namespace ray-system | ||
| kubectl create -k "github.com/ray-project/kuberay/ray-operator/config/default?ref=v1.6.0" -n ray-system |
There was a problem hiding this comment.
Update the Kustomize ref to v1.7.0 to match the Helm installation version and ensure compatibility with the backported KubeRay v1.7 features.
| kubectl create namespace ray-system | |
| kubectl create -k "github.com/ray-project/kuberay/ray-operator/config/default?ref=v1.6.0" -n ray-system | |
| kubectl create namespace ray-system | |
| kubectl create -k "github.com/ray-project/kuberay/ray-operator/config/default?ref=v1.7.0" -n ray-system |
| rayClusterSpec: | ||
| rayVersion: '2.56.0' | ||
| headGroupSpec: | ||
| rayStartParams: {} | ||
| template: | ||
| spec: | ||
| containers: | ||
| - name: ray-head | ||
| image: rayproject/ray:2.56.0 | ||
| resources: | ||
| limits: | ||
| cpu: "1" | ||
| memory: "5Gi" | ||
| volumeMounts: | ||
| - mountPath: /home/ray/samples | ||
| name: code-sample | ||
| volumes: | ||
| - name: code-sample | ||
| configMap: | ||
| name: ray-job-code-sample | ||
| workerGroupSpecs: | ||
| - replicas: 1 | ||
| groupName: small-group | ||
| rayStartParams: {} | ||
| template: | ||
| spec: | ||
| containers: | ||
| - name: ray-worker | ||
| image: rayproject/ray:2.56.0 | ||
| resources: | ||
| limits: | ||
| cpu: "1" | ||
| memory: "1Gi" |
There was a problem hiding this comment.
Since this documentation is being backported to the 2.58.0 release branch, the example Ray version and image tags should be updated from 2.56.0 to 2.58.0 to remain consistent with the target release branch.
rayClusterSpec:
rayVersion: '2.58.0'
headGroupSpec:
rayStartParams: {}
template:
spec:
containers:
- name: ray-head
image: rayproject/ray:2.58.0
resources:
limits:
cpu: "1"
memory: "5Gi"
volumeMounts:
- mountPath: /home/ray/samples
name: code-sample
volumes:
- name: code-sample
configMap:
name: ray-job-code-sample
workerGroupSpecs:
- replicas: 1
groupName: small-group
rayStartParams: {}
template:
spec:
containers:
- name: ray-worker
image: rayproject/ray:2.58.0
resources:
limits:
cpu: "1"
memory: "1Gi"The docs-go scope guard diffs against the merge-base with master, which on a release-branch backport attributes every release-only change to the PR. Drop the label so the full premerge suite runs instead of the doc-skip subset. Signed-off-by: Douglas Strodtman <douglas@anyscale.com>
Why
The KubeRay v1.7 blog highlights several features whose docs currently live only on
master. The corresponding pages are missing (404) or incomplete on thelatest(2.58.0) docs build, and several blog links point at/masteras a result. This backports the doc pages so the 2.58.0latestdocs cover the released KubeRay v1.7 surface.What (cherry-picks onto
releases/2.58.0)latestSidecarModeretry#rollbacksection missingkubernetespip guidanceingressOptionsundocumentedEach commit is applied with
cherry-pick -x(provenance preserved) and DCO sign-off.Not duplicating
releases/2.58.0(checked by PR number and by--base releases/2.58.0).RAY_ROOT_DIR->STORAGE_ROOT_DIR#65441, [Docs][KubeRay] Use RayJob sample YAML for History Server docs #65505) are intentionally excluded — they already landed onreleases/2.58.0(c6061c10b97,d8277b53b0d) and that page is already identical tomaster.master(llms.txt page descriptions [doc] Add curated page descriptions for the remaining llms.txt pages #65115, the "Ray Pod" terminology rename [docs] Retire the "Ray Pod" term from the Kubernetes docs #65423, the vendored CRD API reference [docs] vendor the KubeRay CRD API reference into the Ray docs #65428) are deliberately left out to keep this a tight, low-risk release-branch backport.Testing
{ref}/{doc}cross-reference target resolves on this branch (fail_on_warning: truebuild safety).network-policy,rayjob-sidecar-submitter-restart) point at files that exist on the branch.masterexcept for the intentionally-excluded frontmatter/rename hunks above.AI assistance (Claude Code) was used to prepare this backport.