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.