Explore the internal architecture of a Kubernetes cluster, and other core concepts needed for an advanced understanding of Kubernetes.
Overview
Syllabus
Introduction
- Exploring the Kubernetes architecture
- What you should know
- The Kubernetes cluster architecture from 40,000 feet
- Who interacts with the cluster?
- Storing resources in the database
- Making things happen
- Achieving high availability
- Scaling with load
- Bringing it together: Control plane load
- Some terminology: Kernels, user space, and distributions
- Looking at resources in etcd
- Manually querying the Cluster API
- Validating identity with authentication
- Checking permissions with authorization
- Intercepting requests with admission controllers
- Extending admission control with webhooks
- Intelligent persistence and retrieval of resources
- Bringing it together: apply, diff, and dry-run
- Putting the world right with reconciliation
- Everything's a controller
- Example controller: Deployment
- Who controls controllers? The controller-manager
- The many other loops of the controller-manager
- Controlling pods' placement: The scheduler
- Bringing it together: Scheduler mechanics
- What's contained in a pod?
- Controlling pods with the kubelet
- kube-proxy: The iptables controller
- Weather machine: The cloud-controller-manager
- Discovering services with cluster DNS
- Bringing it together: The operator pattern
- Next steps
Taught by
Matt Turner