Advanced Kubernetes: 1 Core Concepts
3h 14mAdvanced2021-05-25
Authors

Matt Turner
DevOps Leader, Architect, and Engineer
Course details
Building and operating Kubernetes clusters is a complex topic of increasing importance in today’s DevOps-driven world. Systems engineers, site reliability engineers, and those who work with IT infrastructure at a deep and programmatic level all need to have a next-level understanding of Kubernetes. In this course, instructor Matt Turner reviews its architecture, starting with an overview of the core components of a Kubernetes cluster and the mechanisms for keeping them available at scale. He reviews the etcd database and shows how to investigate the cluster at a low-level through its API. He then reviews the API request process, from authorization to resource persistence, and explores the controllers and reconciliation loops that drive Kubernetes. The closing chapter covers reconciliation in the dataplane, including managing cloud provider resources with the cloud-controller, and how DNS-based discovery of pod and service IPs works.
Skills covered
KubernetesDevOps ToolsAdvancedDevOpsOpen Source
Concepts
0. Introduction
- 01 - Exploring the Kubernetes architecture
- 02 - What you should know
1. Kubernetes Architecture Overview
- 03 - The Kubernetes cluster architecture from 40,000 feet
- 04 - Who interacts with the cluster
- 05 - Storing resources in the database
- 06 - Making things happen
- 07 - Achieving high availability
- 08 - Scaling with load
- 09 - Bringing it together - Control plane load
2. Etcd and API server - The Core of the System
- 10 - Some terminology - Kernels, user space, and distributions
- 11 - Looking at resources in etcd
- 12 - Manually querying the Cluster API
3. Kubernetes API Server - The Life of a Request
- 13 - Validating identity with authentication
- 14 - Checking permissions with authorization
- 15 - Intercepting requests with admission controllers
- 16 - Extending admission control with webhooks
- 17 - Intelligent persistence and retrieval of resources
- 18 - Bringing it together - apply, diff, and dry-run
4. Reconciliation - The Engine of a Declarative System
- 19 - Putting the world right with reconciliation
- 20 - Everything's a controller
- 21 - Example controller - Deployment
- 22 - Who controls controllers The controller-manager
- 23 - The many other loops of the controller-manager
- 24 - Controlling pods' placement - The scheduler
- 25 - Bringing it together - Scheduler mechanics
5. Data-Plane Reconciliation
- 26 - What's contained in a pod
- 27 - Controlling pods with the kubelet
- 28 - kube-proxy - The iptables controller
- 29 - Weather machine - The cloud-controller-manager
- 30 - Discovering services with cluster DNS
- 31 - Bringing it together - The operator pattern
Conclusion
- 32 - Next steps