Summary
In this chapter, we finally got our hands on Kubernetes. We learned a lot about its architecture, components, and API. Kubernetes clusters consist of control plane (also known as the master) and worker nodes, where control plane nodes run K8s management components and worker nodes run the actual containerized applications with the help of kubelet, container runtime, and kube-proxy. Among the master node components, there’s kube-apiserver, etcd, kube-scheduler, kube-controller-manager, and, optionally, cloud-controller-manager.
We saw that a pod is the smallest deployable unit of Kubernetes and that it allows us to run individual containers as well as multiple containers together on K8s. Containers inside one pod are coupled and can share storage, network, and memory. The secondary container in the pod is typically called the sidecar and can help the container run the main application by doing log aggregation, for example.
The Kubernetes API is declarative. When...