Figure 3-5. Deployment and release strategies Every software is different, and deploying complex systems usually requires addi‐ tional steps and checks. The techniques discussed in this chapter cover the Pod update process, but do not include updating and rolling back other Pod dependencies such as ConfigMaps, Secrete, or other dependent services. As of this writing, there is a proposal for Kubernetes to allow hooks in the deploy‐ ment process. Pre and Post hooks would allow the execution of custom commands before and after Kubernetes has executed a deployment strategy. Such commands could perform additional actions while the deployment is in progress and would additionally be able to abort, retry, or continue a deployment. Those commands are a good step toward new automated deployment and release strategies. For now, an approach that works is to script the update process at a higher level to manage the update process of services and its dependencies using the Deployment and other primitives discussed in this book. Regardless of the deployment strategy you are using, it is essential for Kubernetes to know when your application Pods are up and running to perform the required sequence of steps reaching the defined target deployment state. The next pattern, Health Probe , in Chapter 4 describes how your application can communicate its health state to Kubernetes. 32  |  Chapter 3: Declarative Deployment