Tomcli / 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.

KubeRay provides several tools to improve running and managing Ray's experience on Kubernetes.

  • Ray Operator
  • Backend services to create/delete cluster resources
  • Kubectl plugin/CLI to operate CRD objects
  • Data Scientist centric workspace for fast prototyping (incubating)
  • Native Job and Serving integration with Clusters (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

Nightly version

kubectl apply -k "github.com/ray-project/kuberay/manifests/cluster-scope-resources"
kubectl apply -k "github.com/ray-project/kuberay/manifests/base"

Stable version

kubectl apply -k "github.com/ray-project/kuberay/manifests/cluster-scope-resources?ref=v0.2.0"
kubectl apply -k "github.com/ray-project/kuberay/manifests/base?ref=v0.2.0"

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.

Monitor

We have add a parameter --metrics-expose-port=8080 to open the port and expose metrics both for the ray cluster and our control plane. We also leverage the Prometheus Operator to start the whole monitoring system.

You can quickly deploy one by the following on your own kubernetes cluster by using the scripts in install:

./install/prometheus/install.sh

It will set up the prometheus stack and deploy the related service monitor in config/prometheus

Then you can also use the json in config/grafana to generate the dashboards.

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 90.1%Language:Makefile 3.1%Language:Python 1.9%Language:Shell 1.8%Language:Mustache 1.7%Language:Dockerfile 1.5%