第01章:Kubernetesって何を解決するの?🤔☸️
この章でできるようになること 🎯✨
- 「Docker/Composeで十分な場面」と「Kubernetesが必要になる場面」を言い分けられる😎
- Kubernetesの“強み3点セット”を説明できる(自動回復🛟・スケール📈・宣言型📄)
- “クラスタの世界”を頭の中に地図として置ける🗺️🧠
まず結論:Kubernetesは「複数マシン運用の面倒」を肩代わりする仕組み 💪😇
Docker/Composeは 基本「1台のマシン(または1台として扱える環境)」 をいい感じに動かすのが得意🐳✨ 一方 Kubernetes は 「複数マシン(クラスタ)」でアプリを安全に動かし続ける のが得意☸️🔥
2026年2月時点では、Kubernetesの最新パッチは v1.35.1(2026-02-10) です。(Kubernetes)
1) Docker/Composeで “だんだん辛くなる瞬間” 😵💫🧨
イメージしやすい「あるある」を先に並べるね👇
あるある①:落ちたら人が直す(夜中に起きる)🌙📟
- アプリが落ちた
- 再起動する
- ついでにログ見る
- また落ちる → 人間が運用ループに組み込まれる 😭
あるある②:台数を増やした瞬間に “配線” が地獄 🧵🕸️
- どのマシンで動いてる?
- どのIPに向ける?(IP変わる)
- ロードバランサどうする?
- 設定配るのどうする? → 複数台になると、接続・配置・更新が急に難易度UP 🚀💥
あるある③:更新が怖い(止めたくないのに止まる)😨🔄
- 新バージョン出したい
- でも途中で落ちたら?
- どこまで反映されたか分からない → “安全に更新する仕組み” が欲しくなる😵
2) Kubernetesが解決する「3つの大きな問題」🛠️☸️
✅ (1) 自動回復(Self-Healing)🛟✨
「落ちたら起きる」を 仕組みでやる
- Podが死んだら作り直す
- 望む数(replicas)を保つ → “夜中に起きる率”が減る😴💤
✅ (2) 安全な更新(Rolling Update & Rollback)🔄🧯
いきなり全部入れ替えずに、少しずつ更新
- 少しずつ新しいPodを増やす
- ダメなら戻す → “更新=事故”になりにくい🚧➡️✅
✅ (3) 宣言型(Declarative)📄🧠
「こういう状態であってほしい」を書くと、Kubernetesが合わせにいく😇
- 例:「APIを3つ動かして」「この設定で」「このポートで」 → 命令(手順)じゃなくて、理想状態(ゴール) を渡す感じ🎯
3) たった1つだけ覚える “Kubernetesの心臓” ❤️🔥
「現在の状態」→「望む状態」へ寄せ続ける(調整ループ)🔁⚙️
Kubernetesは、ざっくり言うとこれをずっとやってる👇
- あなた:「こうなっててほしい」(マニフェスト📄)
- Kubernetes:「いまこうなってる」(現状👀)
- Kubernetes:差分を見て、足りない分を作る/多い分を消す🧹
この発想があるから、
- 落ちても戻る🛟
- 台数増減できる📈
- 更新を段階的にできる🔄 …が成立するよ!
4) “クラスタの世界”を3行でつかむ 🗺️👥
ここは次章で詳しくやるけど、今は雰囲気だけ👇
- クラスタ:複数マシン(ノード)が集まった1つの運用単位🏢
- Pod:動く最小単位(コンテナを包んだカプセルみたいなやつ)📦
- コントローラ:Podを増やしたり戻したりする担当(自動回復の主役)👮♂️
5) 10分ミニ体験: “Kubernetesっぽさ” を味見する 😋☸️
まだ深掘りしない。「あ、こういう感じなんだ」 だけ掴もう🫶
体験A:クラスタができたら勝ち 🏁✨
ローカル学習では kind か minikube が定番。
- kind は v0.31.0 が Kubernetes 1.35.0 をデフォルト にしています。(GitHub)
- minikube は v1.38.0(2026-01-28) が最新リリースとして案内されています。(minikube)
体験B:「望む状態」を書いたら、勝手に合わせるのを見る 👀🔁
例として「Webを2つ動かしたい」を宣言してみる(イメージでOK)👇
apiVersion: apps/v1
kind: Deployment
metadata:
name: hello-web
spec:
replicas: 2
selector:
matchLabels:
app: hello-web
template:
metadata:
labels:
app: hello-web
spec:
containers:
- name: web
image: nginx:stable
ports:
- containerPort: 80
これを適用したあとに、雰囲気だけでいいので👇をやると「自動」を体感できる😆
kubectl get pods
kubectl delete pod <どれか1つ>
kubectl get pods
- 1個消したのに、また2個に戻ろうとする(=望む状態へ寄せる)🛟🔁 ここで「Kubernetesの旨味」が体に入る🍜✨
まだ
kubectlの細かい操作は次章以降でちゃんとやるよ⌨️😊
6) 2026年の “軽い注意点メモ” ⚠️📌(今は知ってるだけでOK)
「入口(外部公開)」周りは、今ちょうど流れが変わってる🌊
- Ingress NGINX は 2026年3月までベストエフォート保守 → 以後リリース/修正/脆弱性対応なし の方針が告知されています。(Kubernetes)
- 代替の本命として Gateway API v1.4.0 がGA として紹介されています。(Kubernetes)
この教材でも、後半は Gateway API寄りの考え方 を前提に進めるのが安全だよ🛡️🚪
7) AIの使いどころ(第1章ver)🤖✨
ここはガチで効くやつだけ👇
- マニフェストを貼って 「このYAMLが“望む状態”として言ってることを、日本語で3行で説明して」🗣️
kubectl get/describeの出力を貼って 「原因候補を3つ。切り分け順に並べて」🔎🧭- ただし! 最終判断は “kubectl describe / logs / events” 側の事実で確定 ね🧠✅
8) 章末チェック(3分)📝✅
言えたら勝ち🎉
- Docker/Composeは何が得意?🐳
- Kubernetesは何が得意?☸️
- 「宣言型」って何?📄
- Kubernetesの心臓は何?(現在→望むへ寄せる)🔁
9) 次章予告 👀✨
次は「クラスタの登場人物(Control Plane / Node / Pod)」を、迷子にならない順番で整理するよ🗺️👥 “どこで何が起きてるか” が分かると、Kubernetesが急に優しくなる ☺️☸️