KubeRay 升级指南#

KubeRay / Ray 兼容性#

KubeRay CI 测试 nightly KubeRay 针对 Ray 的三个最新主要或次要版本,以及 nightly Ray 构建。例如,如果最新的 Ray 版本是 2.7.0,KubeRay CI 会测试 nightly KubeRay 针对 Ray 2.7.0、2.6.0、2.5.0 以及 nightly Ray 构建。

  • KubeRay v0.6.0: 支持所有 Ray 版本 > Ray 2.0.0

  • KubeRay v1.0.0: 支持所有 Ray 版本 > Ray 2.0.0

  • KubeRay v1.1.0: 支持 Ray 2.8.0 及更高版本。

前面的兼容性计划与 KubeRay CRD 版本计划密切相关。

CRD 版本控制#

通常,尽管在每次发布中都会向 KubeRay CRD 添加新字段,但 KubeRay 并不会为每个版本升级 CRD 版本。

  • KubeRay v0.6.0 及更早版本:CRD v1alpha1

  • KubeRay v1.0.0: CRD v1alpha1 和 v1

  • KubeRay v1.1.0: CRD v1

如果你想了解CRD版本计划的推理,请参阅 ray-project/ray#40357 获取更多详情。

升级 KubeRay#

如果你在使用 KubeRay 时遇到任何问题,升级 KubeRay 版本是最好的策略。由于 Webhook 的可靠性和安全性问题,KubeRay 不支持转换 Webhook 来将 v1alpha1 转换为 v1 API。

要升级 KubeRay 版本,请按以下步骤操作:

  1. 升级 CRD 清单,包含添加到 v1 CRD 中的新字段。

  2. 将 kuberay-operator 镜像升级到新版本。

  3. 验证升级的成功。

以下是从 v1.0.0 升级到 v1.1.0 的 KubeRay 示例:

# Upgrade the CRD to v1.1.0.
# Note: This example uses kubectl because Helm doesn't support lifecycle management of CRDs.
# See the Helm documentation for more details: https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations
$ kubectl replace -k "github.com/ray-project/kuberay/ray-operator/config/crd?ref=v1.1.0"

# Upgrade kuberay-operator to v1.1.0. This step doesn't upgrade the CRDs.
$ helm upgrade kuberay-operator kuberay/kuberay-operator --version v1.1.0

# Install a RayCluster using the v1.1.0 helm chart to verify the success of the upgrade.
$ helm install raycluster kuberay/ray-cluster --version 1.1.0

以下是从 v0.6.0 升级到 v1.0.0 的 KubeRay 示例:

# Upgrade the CRD to v1.0.0.
# Note: This example uses kubectl because Helm doesn't support lifecycle management of CRDs.
# See the Helm documentation for more details: https://helm.sh/docs/chart_best_practices/custom_resource_definitions/#some-caveats-and-explanations
$ kubectl replace -k "github.com/ray-project/kuberay/ray-operator/config/crd?ref=v1.0.0"

# Upgrade kuberay-operator to v1.0.0. This step doesn't upgrade the CRDs.
$ helm upgrade kuberay-operator kuberay/kuberay-operator --version v1.0.0

# Install a RayCluster using the v1.0.0 helm chart to verify the success of the upgrade.
$ helm install raycluster kuberay/ray-cluster --version 1.0.0