Chapter 2.9 - Inter-Component Communication
Learning Objectives
By the end of this chapter, you will be able to:
- Understand how components communicate
- Explain the protocols used
- Identify communication flows
- Understand communication security
Overview
All Kubernetes components communicate via the API Server, which is the central communication point:
Communication Protocols
HTTPS/TLS
All communications are encrypted:
Advantages:
- Encryption in transit
- Mutual authentication
- Data integrity
Certificates
Each component uses certificates:
- API Server: Server certificate
- kubelet: Client certificate
- etcd: Peer-to-peer certificates
Main Communication Flows
1. User -> API Server
2. Controller Manager -> API Server
3. Scheduler -> API Server -> kubelet
4. kubelet -> Container Runtime
Watch API
Components use the Watch API to receive real-time notifications:
Advantages:
- Instant notifications
- No polling
- Resource efficient
Communication Security
Authentication
Each component authenticates with certificates:
Authorization
RBAC controls what each component can do:
- kubelet: Can read/update Pods on its node
- Controller Manager: Can read/update all resources
- Scheduler: Can read Pods and bind them to nodes
Summary
In this chapter, you learned:
Centralized communication: All components via the API Server
Protocols: HTTPS/TLS for security
Watch API: Real-time notifications
Certificates: Mutual authentication
RBAC: Role-based authorization
Next Steps
Now that you understand communication:
Chapter 2.10: Add-ons and Extensions
Lab 2.2: Analyzing Worker Nodes
Chapter created: December 2024