User Tools

Site Tools


k8s:core:why_k8s

This is an old revision of the document!


Why Kubernetes Exists

Kubernetes exists to solve problems that appear when running containers in production.

1. Manual container management is hard

If you run containers manually:

  • You must restart failed containers
  • You must handle scaling yourself
  • You must manage networking manually

This becomes impossible at scale.

2. Need for self-healing systems

In production:

  • Containers crash
  • Servers fail
  • Traffic increases suddenly

Kubernetes automatically:

  • Restarts failed containers
  • Replaces unhealthy pods
  • Reschedules workloads to healthy nodes

3. Need for scaling

Traffic is not constant:

  • Peak hours → high traffic
  • Off-peak → low traffic

Kubernetes supports:

  • Horizontal scaling (add/remove pods automatically)

4. Need for consistent deployment

Without Kubernetes:

  • Deployments differ across environments

With Kubernetes:

  • Same YAML works everywhere (dev, staging, prod)

5. Cloud portability

Kubernetes works across:

  • AWS
  • GCP
  • Azure
  • On-prem servers

So you avoid vendor lock-in.

Summary

Kubernetes exists to make systems:

  • Automated
  • Scalable
  • Reliable
  • Portable
k8s/core/why_k8s.1780194594.txt.gz · Last modified: by phong2018