anchor.diff:  
   Let's look at these two deployment strategies.
   
  -For our usecase, the application initially uses the image `arungupta/app-upgrade:v1`. Then the Deployment is updated to use the image `arungupta/app-upgrade:v2`. The v1 image prints "`Hello World!`". The v2 image prints "`Howdy World!`". The source code for these images is in the link:images[] directory.
  -
  -== Pre-requisites
  -
  -A 3 master nodes and 5 worker nodes cluster as explained at link:../cluster-install##multi-master-multi-node-multi-az-gossip-based-cluster[] is used for this chapter. A smaller cluster may be used.
  -
  -All configuration files for this chapter are in the `app-upgrade` directory.
  -
  -== Recreate strategy
  +=== Recreate strategy
   
   All existing pods are killed before the new ones are created. The configuration file looks like:
   
  
positive.code: 
  . Create deployment:
  
      $ kubectl create -f templates/app-recreate.yaml
      deployment "app-v1-recreate" created
  
  . Expose service:
  
      $ kubectl expose deployment/app-recreate --port=8080 --name=app-recreate --type=LoadBalancer
      service "app-recreate" exposed
  
  . Get service detail:
  
negative.code:     Howdy World!
  +
  The output now shows `v2` version of the image is being used.
  
  == Rollback
  
  More details about 
  
  == Delete resources
  
  Delete resources created in this chapter:
  
      kubectl delete deployment/app-recreate svc/app-recreate deployment/app-rolling svc/app-rolling
  