-
Build Docker images:
docker image build -t arungupta/app-upgrade:v1 app-v1 docker image build -t arungupta/app-upgrade:v2 app-v2
-
Run Docker container:
docker container run -d -p 8080:8080 arungupta/app-upgrade:v1 docker container run -d -p 8081:8080 arungupta/app-upgrade:v2
-
Access v1 application:
curl http://localhost:8080 Hello World!
-
Access v2 application:
$ curl http://localhost:8081 Howdy World!
-
Run pod:
kubectl run app-v1 --image=arungupta/app-upgrade:v1 kubectl run app-v2 --image=arungupta/app-upgrade:v2
-
Publish service:
kubectl expose deployment/app-v1 --target-port=8080 --port=8080 --name=app-v1 kubectl expose deployment/app-v2 --target-port=8080 --port=8081 --name=app-v2
-
Access v1 application (on minikube):
curl http://localhost:8080 Hello World!
For a Kubernetes cluster running on AWS, you need to run proxy and access the application using http://localhost:8001/api/v1/proxy/namespaces/default/services/app-v1/.
-
Access v2 application:
curl http://localhost:8081 Howdy World!