Controllers implement a lot of the “magic” of Kubernetes. In this section we’ll go through several standard controllers with the focus on the Deployments Controller. We’ll be covering mechanisms like initContainers and probes to ensure granular control over your software deployment process.
We’ll be using our reference ecommerce system to implement various deployment options and consider their trade-offs. We’ll consider recovering from failure scenarios, scaling the deployment up and down and how to ensure zero downtime operations.
In this section, we’ll focus on updating and rolling back different versions of your services. Kubernetes offers several useful mechanisms and we’ll cover several real world scenarios and learn how to integrate them with external systems (like a CI/CD delivery pipeline)
Kubernetes offers powerful mechanisms with which your system can respond to increases or decreases in load. We’ll implement a real-world scenario which will have our application react accordingly, including building custom metrics bespoke to your application.
Finally, we’ll cover gradual releases of your application using several techniques, whose goal is to ensure that your system responds accordingly in complex scenarios. We’ll be simulating a CI/CD pipeline triggering updates and monitoring the success and progress of the whole process.