Ray Clusters Overview
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 and Aliyun 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.
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.
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.