The Kubernetes Way
The Docker Way
Run kubectl commands on GCP or AWS in the following sequence.
kubectl create -f voting-app-pod.yml
kubectl create -f voting-app-service.yml
kubectl create -f redis-pod.yml
kubectl create -f redis-service.yml
kubectl create -f postgres-pod.yml
kubectl create -f postgres-service.yml
No service here because no other components rely on the worker pod.
kubectl create -f worker-app-pod.yml
kubectl create -f result-app-pod.yml
kubectl create -f result-app-service.yml
Run docker commands in the following sequence with --links
docker run -d --name=redis redis
docker run -d --name-db postgres:9.4
docker run -d --name=vote -p 5000:80 --link redis:redis voting-app
docker run -d --name=result -p 5001:80 --link db:db result-app
docker run -d --name=worker --link db:db --link redis:redis worker