Blue Green Deployment

Hi Ray team,
If I wanted to do some kind of blue/green deployment for ray kube cluster, is there an established way of setting that up?
We were thinking about deploying a new raycluster CR in the same cluster as the old one (aka using same kuberay operator), switching over traffic, and then taking down the old cluster
Was curious if the ray team had thoughts on this since in the documentation it recommends spinning up a new ray cluster and taking down the old one when pushing an update

Would really appreciate your thoughts!
Thanks,
Charu

Hi @cdwiv, you can take a look at the RayService Custom Resource Definition (CRD) in KubeRay. Thanks!

Hi @Kai-Hsun_Chen, thanks for the response. I don’t think RayService will work because the last time I checked it did not support multi-application deployments. We’re currently running multi-application deployments on RayCluster.
Apologies if I’m mistaken, please let me know if there is a way to deploy multi-application with RayService, or if there’s someway to do blue-green with RayCluster.

The master branch of KubeRay currently supports multi-app deployments. This feature is expected to be officially released in version v0.6.0, which is anticipated to be available by the end of June or early July. If you are interested in trying out the master branch, we appreciate your support and will do our best to address any related issues that may arise.

Thanks @Kai-Hsun_Chen, although I’m wondering - would this help with changes that aren’t related to the serve application? For example, if I wanted to change the underlying docker image used by ray to spin up nodes, how would I do a blue-green deployment for that? Does the node automatically cycle or do I have to do something manually for that

would this help with changes that aren’t related to the serve application?

Yes, you can refer to this as an example.

For example, if I wanted to change the underlying docker image used by ray to spin up nodes, how would I do a blue-green deployment for that?

All you need to do is update the RayService custom resource, and KubeRay will handle the rest for you.

Does the node automatically cycle or do I have to do something manually for that

The old RayCluster will be cycled automatically after the serve applications on the new RayCluster are running and ready.