Kubernetes
Kubernetes is an open-source container orchestration platform for automating deployment, scaling, and management of containerized applications.
Key Concepts
Core Components
- Pod: Smallest deployable unit (contains one or more containers)
- Node: Worker machine (physical or virtual)
- Cluster: Group of nodes managed together
- Namespace: Virtual cluster within a physical cluster
Control Plane Components
- API Server: Frontend for Kubernetes control plane
- etcd: Consistent and highly-available key-value store
- Scheduler: Watches for newly created Pods and assigns them to Nodes
- Controller Manager: Runs controller processes
Workload Resources
- Deployment: Manages replicated applications
- Service: Exposes applications running on Pods
- ConfigMap/Secret: Stores configuration data
- PersistentVolume: Storage abstraction
Common Interview Questions
- What is the difference between Docker and Kubernetes?
- Explain the concept of Pods and why they exist
- What are the different types of Services in Kubernetes?
- How does Kubernetes handle scaling?
- Explain the role of etcd in Kubernetes
- What are the different deployment strategies?
- How to handle persistent storage in Kubernetes?
- Explain Kubernetes networking model
- What are ConfigMaps and Secrets?
- How does Kubernetes handle service discovery?
- Explain the concept of namespaces
- How to implement health checks in Kubernetes?
- What are the different types of probes?
- How to handle resource limits and requests?