KubeRay is an open source toolkit to run Ray applications on Kubernetes. It provides several tools to improve running and managing Ray on Kubernetes.
- Ray Operator
- Backend services to create/delete cluster resources
- Kubectl plugin/CLI to operate CRD objects
- Native Job and Serving integration with Clusters
- Data Scientist centric workspace for fast prototyping (incubating)
- Kubernetes event dumper for ray clusters/pod/services (future work)
- Operator Integration with Kubernetes node problem detector (future work)
You can view detailed documentation and guides at https://ray-project.github.io/kuberay/
Please choose the version you like to install. We will use nightly version master
as an example
Version | Stable | Suggested Kubernetes Version |
---|---|---|
master | N | v1.19 - v1.24 |
v0.3.0 | Y | v1.19 - v1.24 |
export KUBERAY_VERSION=v0.3.0
kubectl create -k "github.com/ray-project/kuberay/manifests/cluster-scope-resources?ref=${KUBERAY_VERSION}&timeout=90s"
kubectl apply -k "github.com/ray-project/kuberay/manifests/base?ref=${KUBERAY_VERSION}&timeout=90s"
If you like to try nightly version, use
export KUBERAY_VERSION=master
instead. In 1.19+ Ingress API is nownetworking.k8s.io/v1
, it's being used to expose RayCluster Head dashboard(optional) and RayService. For Kubernetes version < 1.19, you can still use KubeRay but without Ingress support. Observe that we must usekubectl create
to install cluster-scoped resources. The correspondingkubectl apply
command will not work. See KubeRay issue #271.
A helm chart is a collection of files that describe a related set of Kubernetes resources. It can help users to deploy ray-operator and ray clusters conveniently. Please read kuberay-operator to deploy an operator and ray-cluster to deploy a custom cluster.
Please read our CONTRIBUTING guide before making a pull request. Refer to our DEVELOPMENT to build and run tests locally.
If you discover a potential security issue in this project, or think you may have discovered a security issue, we ask that you notify KubeRay Security via our Slack Channel. Please do not create a public GitHub issue.
This project is licensed under the Apache-2.0 License.