Kubernetes(しばしば K8s と略される)は、オープンソースの**コンテナオーケストレーション(container orchestration)**プラットフォームです。マシンの cluster 全体にわたって、コンテナ化されたアプリケーションのデプロイ、スケーリング、ネットワーキング、自己修復を自動化します。あなたは*望ましい状態(desired state)*を記述するだけで、Kubernetes が現実をそれに一致させるよう継続的に働きます。
問題:コンテナを大規模に動かすのは難しい
You have containers (from Docker), but in production you must also answer:
→ On WHICH machine does each container run? (scheduling)
→ What if a container crashes? (self-healing / restarts)
→ What if a whole node dies? (reschedule elsewhere)
→ How do 50 replicas find and talk to each other? (service discovery)
→ How do I roll out a new version with zero downtime? (rolling updates)
→ How do I scale from 3 to 30 replicas on a traffic spike? (autoscaling)
Doing all this by hand across many servers does not scale.
