The Kubernetes Machine
Kubernetes is one of the most popular open source software projects in the world and is an excellent example of a distributed software system. This course is about the Kubernetes machine, its design principles and components. In this course you will learn how Kubernetes works and what makes it so effective as a container orchestration system.
Introduction to the Kubernetes Machine
Before we get started, let’s quickly review what you’ll learn and what you need to know in order to get the most out of this course.
This lesson covers the important design principles of Kubernetes. You will learn about level-triggered vs edge-triggered logic, about the API-driven nature of Kubernetes, about the watch mechanisms that are used to connect the components of the system and about what a "controller" is in the Kubernetes context.
Etcd is the persistent data store for Kubernetes. It is a distributed key-value store that records the state of all resources in a Kubernetes cluster. This lesson will teach you the fundamentals of etcd.
The Kubernetes API is at the heart of the Kubernetes control plane. In this lesson you'll learn how Kubernetes objects are organized in the API and how clients are notified of changes to them.
This lesson extends what we covered in the last lesson and covers what happens in the API Server when a request is received to alter the state of the cluster.
The kube-scheduler is the Kubernetes controller responsible for assigning pods to nodes in the cluster. It's scope is narrow but complex. In this lesson you'll learn about the crucial role it plays in the control plane.
In this lesson you'll learn about the kube-controller-manager which encompasses various control loops that are critical to the proper function of a Kubernetes cluster.
Cloud Controller Manager
This lesson covers the cloud-controller-manager. This component includes control loops that help manage a Kubernetes cluster's underlying infrastructure.
The kubelet is another Kubernetes controller. In general terms, it provides an interface between the Kubernetes control plane and the container runtime on each server in the cluster. This lesson will teach you how it does this.
The kube-proxy implements the Service resource in Kubernetes. In this lesson you'll learn the critical role it plays in Kubernetes networking.