本文へスキップ
totonoe.tech

OSを整える

中級

Kubernetesを整える。

= コンテナを複数台で動かし続けるしくみ

① クラスタの図と、② 動きを1手ずつ

図の部品を押すと役割が出ます。右(スマホでは下)で動きを選び「次へ」を押すと、図が 1 手ずつ変わります。

  • 稼働
  • 作成中
  • 停止中
  • 状態不明
  • Service の届き先

動きを選び直すと、クラスタは最初の状態に戻ります。

図の部品を押してみてください

コントロールプレーン(上の 4 つ)、Deployment、ReplicaSet、Service、ノード、Pod が押せます。

③ 疑似ターミナルで kubectl を打つ

上の図と同じクラスタを操作します。ボタンを順に押すと、YAML の反映から Pod の削除、更新の確認まで進みます。自分で打つこともできます。

架空のクラスタ(コントロールプレーン 1 台・ワーカー 3 台) 打った内容と YAML はこのページの中だけで処理されます
練習の流れ
$

練習用のルール: 命令を 1 回打つごとに少し時間が進みます(作成中の Pod は次の命令で稼働になります)。Deployment は web の 1 つだけ。出力の書式は kubernetes.io の例に寄せていますが、実物の kubectl と完全には同じではありません。

この練習で動く命令内容
kubectl get nodesノードの一覧
kubectl get pods / kubectl get pods -o widePod の一覧(-o wide で IP とノードも)
kubectl get deploymentsDeployment の一覧
kubectl get servicesService の一覧
kubectl apply -f deployment.yaml左の YAML を読んで反映(kind: Deployment のみ)
kubectl scale deployment web --replicas=5Pod の数を変える(0〜12)
kubectl delete pod <名前>Pod を消す(すぐ作り直される)
kubectl describe pod <名前>要点だけ(名前・ノード・状態・イベント)
kubectl rollout status deployment web更新の進み具合

ここにない命令は「未対応」と出ます。実際の kubectl にはもっと多くの命令があります。

研修・試験での出方と、実務での意味

「宣言して、あとは任せる」が Kubernetes の中心の考え方です。「この版を 3 つ動かしたい」と書いておけば、Pod が落ちても、ノードが落ちても、コントローラーが「あるべき姿」に戻し続けます。研修では「Pod が消えたのになぜ戻る?」と聞かれます。答えは ReplicaSet が数を見張っているからです。

Pod は使い捨てです。作り直されるたびに IP が変わるので、直接 IP を使わず、Service を入口にします。これが Pod と Service を分けている理由です。

更新は入れ替えです。動いている Pod を書き換えず、新しい版の Pod を作って古いものを止めます。止めずに切り替えられ、うまくいかなければ前の版に戻せます。

実務では、設定ファイル(YAML)を Git に置き、kubectl apply で反映する流れが基本です。Pod が増えない・起動しないときは、kubectl describe pod の最後のイベント欄に理由が出ます。

つなぐ先の知識は、コンテナそのものは Dockerを整える、土台の仮想化は 仮想化を整える、ノードどうしの通信は ネットワークの地図 へ。

たとえると、チェーン店の本部と店舗

ワーカーノードは店舗、Pod は店に立つ店員、コントロールプレーンは本部です。本部に「全店で店員を 3 人ずつ」と伝えておくと、店員が休んだら本部が補充し、店が閉まれば別の店に人を回します。お客さん(利用者)は、店員の顔ぶれが変わっても同じ電話番号(Service)にかければ、いま出られる店員につながります。

出典・時点(2026年11月時点)

  • Kubernetes Documentation「Kubernetes Components」(kubernetes.io/docs/concepts/overview/components/)
  • 同「Deployments」(kubernetes.io/docs/concepts/workloads/controllers/deployment/)・「Service」(kubernetes.io/docs/concepts/services-networking/service/)
  • 同「kubectl」の出力例を参考にしています。ノードや Pod の名前・IP・版番号は架空の例です。

この教材は動きをまねるだけで、実物の Kubernetes は動いていません。スケジューラーの選び方や、ノードが落ちたあとの待ち時間などは単純化しています。

このツールについて

コンテナを何台ものサーバーに並べて動かし続けるしくみを、図を押しながら 1 手ずつ確かめます。実際の Kubernetes は動かさず、動きをブラウザの中でまねます。

図を押して役割を知り、ボタンで動きを1手ずつ再生、疑似ターミナルで kubectl を練習できます。実物は動かさず、送信もしません。

主な機能

  • コントロールプレーン・ノード・Pod・Deployment・Service の図(押すと役割が出る)
  • レプリカ増加・ノード障害・ローリングアップデート・Service 振り分けを1手ずつ再生
  • 疑似ターミナルで kubectl get / apply / scale / delete / describe / rollout status
  • 打った結果が図にそのまま反映される
  • 対応する命令の一覧を明示(未対応は「未対応」と表示)

よくある質問

Q. このページで本物の Kubernetes は動きますか?

A. 動きません。ブラウザの中で動きをまねているだけで、実際のクラスタには何も送りません。出力の書式は kubernetes.io の例に寄せていますが、実物の kubectl と完全には同じではありません。

Q. Pod を消したのになぜすぐ戻るのですか?

A. Deployment の下にいる ReplicaSet が Pod の数を見張っていて、足りなくなると新しい Pod を作るためです。数を減らしたいときは Pod ではなく replicas を変えます。

Q. Pod と Service は何が違いますか?

A. Pod はコンテナを動かす単位で、作り直されると IP が変わります。Service は変わらない入口で、準備のできた Pod にだけ振り分けます。

Q. ローリングアップデートでは、なぜ止まらずに切り替わるのですか?

A. 新しい版の Pod を先に少し作り、動き出してから古い Pod を止める、という入れ替えを繰り返すためです。常に必要な数以上が動いている状態を保ちます。

Q. どんな命令が練習できますか?

A. get(nodes・pods・deployments・services)、apply -f、scale、delete pod、describe pod、rollout status です。ページの表に一覧があり、それ以外は「未対応」と表示します。

入力値はURLの「#」以降に入るためサーバーには送信されません。リンクを開くと同じ状態を復元します。

続けて整える

totonoe.tech を運営する株式会社Koinobori は、法人向けの研修サービス「NOBORIBA®」も運営しています。 ここで手を動かした内容を、講師から教わる形の研修です。このページの道具は無料のまま、登録もいりません。

運営サイト

私たちが運営するサイト