- Create a kind cluster with correct port mapping
 
kind create cluster --config kind.yml- Set the Kubernetes context
 
kubectl config set-context --current --namespace=zerodowntime- Get back to the v1 of the application
 
git checkout 1.0- Build the image
 - 
The build will load the image to the Docker daemon.
 
./mvnw clean compile com.google.cloud.tools:jib-maven-plugin:dockerBuildLoad it into kind.
kind load docker-image hazelcast/hzshop:1.0- Get to the v2 of the application
 
git checkout master- Build the image and load it to the Docker daemon
 
./mvnw clean compile com.google.cloud.tools:jib-maven-plugin:dockerBuildLoad it into kind.
kind load docker-image hazelcast/hzshop:2.0- Load the remaining images in kind
 
kind load docker-image mysql:8.0
kind load docker-image hazelcast/forward:2.0- Schedule common parameters
 
kubectl apply -f infrastructure/kube/parameters.yml- Schedule the original database (blue)
 
kubectl apply -f infrastructure/kube/blue.yml- Schedule the v1 version of the application
 
kubectl apply -f infrastructure/kube/application.yml- Use the application to add products to the cart of any of the customers
 - 
It’s possible to add products to more than one cart!
 - Schedule the target database (green)
 
kubectl apply -f infrastructure/kube/green.yml- Schedule the CDC job from blue to green
 
kubectl apply -f infrastructure/kube/forward.yml- Schedule the v2 version of the application
 
kubectl apply -f infrastructure/kube/application2.yml- Continue adding products to the cart
 - 
At one point, you’ll notice the node you were on has changed but keeping you connected with your cart!