Openshift zero downtime deployment react + rest api Openshift zero downtime deployment react + rest api kubernetes kubernetes

Openshift zero downtime deployment react + rest api


I have done the same, and within Kubernetes, you can achieve this. Let's follow the below approach.

enter image description here

If you look above, I am doing my deployment via helm, and all the K8s objects (Pods, SVC, ingress) are unique based on release names. By this, I can access my specific front-end release by adding a context after my domain like https://app.com/1.0 or https://app.com/2.0.

The version which I want to expose to the internet, I am controlling it via Separate Ingress object (You can call super-ingress), which is independent of your releases and decide which version you want to keep live. By this, you can deploy N number of releases in production without any conflict, and by super-ingress, you can choose, which svc you want to point to the public.


Given the constraints you're telling us, your only choice is to follow a blue/green approach.

You have a pack of stuff which work together, let's say A. And another pack which work together, B. AB is something not possible, so this rule out canary or a/b testing.

You need to deploy B (green), and when everything is correct, switch the domain from A to B.

In kubernetes' words, you will have two different Deployments and Services, like if both are standalone applications. When you are confident the v2 is working properly, you need to change the DNS record pointing to the LoadBalancer of the v1's Service, to point to the v2's Service