Chapter 2.1 - Architecture Overview
Learning Objectives
By the end of this chapter, you will be able to:
- Understand the separation between Control Plane and Worker Nodes
- Identify the responsibilities of each component
- Visualize the communication flows
- Understand high availability concepts
Layered Architecture
Kubernetes follows a well-defined layered architecture:
Control Plane vs Worker Nodes
Control Plane (Master)
Role: Make decisions and maintain the desired state
Characteristics:
- Can be replicated for high availability
- Generally does not run user workloads
- Consumes CPU and memory resources
- Communicates with all Worker Nodes
Worker Nodes
Role: Run the applications
Characteristics:
- Can be added/removed dynamically
- Runs the Pods (applications)
- Communicates with the Control Plane
- Can be in different datacenters/clouds
Communication Flows
1. User -> API Server
2. API Server -> Scheduler -> kubelet
3. Controller Manager -> API Server
High Availability
For production, the Control Plane must be highly available:
Advantages:
- Fault tolerance
- No single point of failure
- Horizontal scalability
Summary
In this chapter, you learned:
Layered architecture: Application -> Orchestration -> Infrastructure
Control Plane: Makes decisions, maintains state
Worker Nodes: Run the applications
Communication: Well-defined flows between components
High Availability: Control Plane replication for production
Next Steps
Now that you understand the overall architecture:
Chapter 2.2: API Server - The Entry Point
Chapter 2.3: etcd - The Database
Chapter created: December 2024