Deploying orchestrated resources
Now that we know how to deploy Pods using imperative and declarative modes, we will define new resources that can manage the Pods’ life cycle. Pods executed directly with the kubectl
command line are not recreated if their containers die. To control the workloads within a Kubernetes cluster, we will need to deploy additional resources, managed by Kubernetes controllers. These controllers are control loops that monitor the state of different Kubernetes resources and make or request changes when needed. Each controller tracks some resources and tries to maintain their defined state. Kubernetes’ kube-controller-manager manages these controllers that maintain the overall desired state of different cluster resources. Each controller can be accessed via an API, and we will use kubectl
to interact with them.
In this section, we will learn the basics of Kubernetes controllers and dive deep into how to use them in Chapter 9, Implementing Architecture...