Technology Fundamentals
Kubernetes
Definition
Kubernetes is an open-source container orchestration system for automating software deployment, scaling, and management. Originally designed by Google, the project is now maintained by the Cloud Native Computing Foundation.
Why It Matters
While Docker is great for running a few containers, Kubernetes is essential for managing applications at scale in production. It handles tasks like automatically restarting failed containers (self-healing), scaling the number of containers up or down based on traffic, and rolling out updates with zero downtime.
Contextual Example
A large e-commerce site running on Kubernetes can automatically scale from 10 web server containers to 100 during a flash sale to handle the load, and then scale back down afterwards to save costs.
Common Misunderstandings
- Kubernetes does not run containers itself; it orchestrates a container runtime, which is most often Docker.
- Kubernetes is often abbreviated as "K8s".