This chapter covers
- Investigating core components of the control plane
- Reviewing API Server details
- Exploring scheduler inferfaces and inner workings
- Utilizing Controller Manager and Cloud Manager
Previously, we provided a high-level overview of Pods, provided a web application outlining why we need the Pod, and how Kubernetes was built with Pods.
After covering all of our requirements for the use case, let’s dive into the details of the control plane. All of the control plane components are installed into the kube-system namespace, a namespace where you, as an operator, should install very few components into.
You should just not use kube-system, and one of the main reasons is those non-controller applications running inside of the kube-system increase the security blast radius. If you are on a hosted system like GKE or EKS, you cannot see all of the control plane components.
One of the easiest ways to start and poke at the control plane is the use kind. kind is Kubernetes in a container, see the following link for install instructions: kubernetes.io/docs/setup/learning-environment/kind/.
Using kind you can view the control plane easily. Just run the following commands.