Ray Clusters Overview#

Ray enables seamless scaling of workloads from a laptop to a large cluster. While Ray works out of the box on single machines with just a call to ray.init, to run Ray applications on multiple nodes you must first deploy a Ray cluster.

A Ray cluster is a set of worker nodes connected to a common Ray head node. Ray clusters can be fixed-size, or they may autoscale up and down according to the resources requested by applications running on the cluster.

Where can I deploy Ray clusters?#

Ray provides native cluster deployment support on the following technology stacks:

  • On AWS and GCP. Community-supported Azure, Aliyun and vSphere integrations also exist.

  • On Kubernetes, via the officially supported KubeRay project.

Advanced users may want to deploy Ray manually or onto platforms not listed here.

Note

Multi-node Ray clusters are only supported on Linux. At your own risk, you may deploy Windows and OSX clusters by setting the environment variable RAY_ENABLE_WINDOWS_OR_OSX_CLUSTER=1 during deployment.

What’s next?#

I want to learn key Ray cluster concepts

Understand the key concepts and main ways of interacting with a Ray cluster.

I want to run Ray on Kubernetes

Deploy a Ray application to a Kubernetes cluster. You can run the tutorial on a Kubernetes cluster or on your laptop via Kind.

I want to run Ray on a cloud provider

Take a sample application designed to run on a laptop and scale it up in the cloud. Access to an AWS or GCP account is required.

I want to run my application on an existing Ray cluster

Guide to submitting applications as Jobs to existing Ray clusters.