mbaijal / kuberay

A toolkit to run Ray applications on Kubernetes

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

KubeRay

Build Status Go Report Card

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)

Documentation

You can view detailed documentation and guides at https://ray-project.github.io/kuberay/

Quick Start

Use Yaml

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 now networking.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 use kubectl create to install cluster-scoped resources. The corresponding kubectl apply command will not work. See KubeRay issue #271.

Use helm chart

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.

Development

Please read our CONTRIBUTING guide before making a pull request. Refer to our DEVELOPMENT to build and run tests locally.

Security

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.

License

This project is licensed under the Apache-2.0 License.

About

A toolkit to run Ray applications on Kubernetes

License:Apache License 2.0


Languages

Language:Go 99.8%Language:Python 0.1%Language:Makefile 0.0%Language:Shell 0.0%Language:Mustache 0.0%Language:Dockerfile 0.0%Language:Smarty 0.0%