Kubernetes(Pod・Deployment・Service)とは?代表的な部品(Pod・De

公開: 更新: カテゴリ: テクノロジ系

30秒で結論

Kubernetesとは(全体像)

Kubernetes(K8s)は、たくさんのコンテナを、自動でうまく動かし続けるための道具。コンテナは「アプリを必要なものごと箱詰めにして、別の環境でも同じように動かせるようにしたもの」だが、数が増えると人手では管理しきれない。そこで「どの箱を・何個・どこで動かすか」を自動で采配するのがKubernetesの役目。これをコンテナオーケストレーション(コンテナの指揮)と呼ぶ。

ここで大事な区別。Kubernetesは「管理役(指揮者)」、Dockerなどは「箱を実際に動かす役(演奏者)」。役割が違うので「K8s=Docker」と思うのは誤り。KubernetesはGoogle発で、いまは広く使われるオープンソースになっている。

試験は、代表的な部品(Pod・Deployment・Service)の役割と、この「Pod」「K8sとDocker」あたりの勘違いをよく突いてくる。


詳しく:代表的な部品(Pod・Deployment・Service)

ここが心臓部。まず3つの代表部品を表で押さえる。

代表的な3つの部品

部品役割かみくだくと
Pod管理の最小単位コンテナを入れる一番小さな箱
DeploymentPodの台数管理・更新箱を何個置くか・どう入れ替えるかを采配
ServicePodへのアクセス口利用者がたどり着くための窓口

Podは、Kubernetesが管理する一番小さな単位。中に1個以上のコンテナを入れる(ふつうは1個だが、補助役を足して複数のこともある)。同じPodの中のコンテナは、ネットワークを共有する。「Pod=1コンテナだけ」は誤りで、正しくは「1個以上」。

Deploymentは、Podをまとめて管理する係。やれることが3つある。

Deploymentができること

できること意味
スケールPodの台数を増やしたり減らしたりする
ローリング更新サービスを止めずに少しずつ新しい版へ入れ替える
ロールバック問題があれば前の版に戻す

Serviceは、Podへの安定したアクセス口(窓口)。Podは作り直されると場所(住所)が変わってしまうが、Serviceがいつも同じ窓口になってくれるので、利用者は迷わずたどり着ける。外への公開の仕方で、内部向け(ClusterIP)やクラウドの入り口(LoadBalancer)などの種類がある。

なお、これら以外にも設定を渡すConfigMap、保存領域のPV、状態を持つアプリ向けのStatefulSetなど、全部で10ほどの部品があると整理される。まずはPod・Deployment・Serviceの3つを確実に押さえるとよい。

わかりやすく言い換えると

要するに、Kubernetesは「たくさんの箱(コンテナ)を仕切る現場監督」だとイメージするとラク。

つまり、Podは「荷物を入れる箱」、Deploymentは「箱を何個置くか・どう入れ替えるかを決める監督」、Serviceは「お客さんが来る受付窓口」。この3役で現場が回る。

そして勘違いしやすい2点。Podは箱が1個とは限らない(中に補助役のコンテナを足せる)。KubernetesとDockerは別もの(監督と、箱を動かす作業員)。


試験のツボ

🔴 一番出る:3つの部品の役割

①Pod=管理の最小単位(コンテナを入れる箱)

②Deployment=Podの台数管理・ローリング更新・ロールバック

③Service=Podへの安定したアクセス口(窓口)

🔴 次に出る:Podとオーケストレーションの勘違い

①Podは1コンテナだけではない(1個以上)

②K8sはオーケストレーション(管理役)、Dockerはコンテナを動かす役

🟡 押さえると安定:そのほかの部品

設定を渡すConfigMap、保存領域のPV、状態を持つアプリ向けのStatefulSetなど、全部で10ほどの部品で構成される。


よくある間違い

「Podには必ずコンテナが1個だけ入る」→ ✗  Podには1個以上のコンテナが入る(補助役を足して複数のこともある)。

「KubernetesとDockerは同じもの」→ ✗  K8sはコンテナを采配する管理役、Dockerは箱を実際に動かす役で役割が違う。

「Serviceの役割はPodの台数を増やすことだ」→ ✗  台数管理はDeploymentの役目。ServiceはPodへのアクセス口(窓口)。


試験での出題パターン

実際の問題でたしかめてみよう。

オリジナル問題1(Kubernetesの役割)

📝 オリジナル問題 1 Kubernetesの役割

Kubernetesに関する次の記述のうち、正しいものはどれか。

  1. Kubernetesはたくさんのコンテナを自動で管理・運用する道具で、Dockerとは役割が異なっている
  2. KubernetesはDockerとまったく同じもので、コンテナを実際に動かすエンジンそのものを指している
  3. Kubernetesは表計算ソフトの一種で、コンテナの管理や運用とは直接の関係がないものとされている
  4. Kubernetesは1台のパソコンだけで動く文書作成ソフトで、コンテナを扱う機能はないものとされる
テクキング
テクキング 解答・解説

解答は 1 だ、わが子よ。

Kubernetesは、たくさんのコンテナを自動で管理・運用する道具(コンテナオーケストレーション)である。コンテナを実際に動かすDockerとは役割が異なる——Kubernetesは監督、Dockerは作業員ぞ。

選択肢2は「Dockerと同じ」が誤り、選択肢3は「表計算ソフト」、選択肢4は「文書作成ソフト」がいずれも誤りである。

選択肢判定理由
1コンテナを自動管理する道具でDockerと役割が異なり正しい
2Dockerと同じものではなく役割が違う
3表計算ソフトではない
4文書作成ソフトではない

オリジナル問題2(Pod)

📝 オリジナル問題 2 Pod

KubernetesのPodに関する次の記述のうち、正しいものはどれか。

  1. Podはアクセス口を提供する部品で、コンテナを入れる役割はいっさい持たないものとされている
  2. Podには必ずコンテナがちょうど1個だけ入り、2個以上を入れることはできないものとされている
  3. Podは管理の最小単位で、中に1個以上のコンテナを入れ、同じPod内はネットワークを共有する
  4. Podはストレージ専用の部品で、コンテナやネットワークとはまったく関係がないものとされている
テクキング
テクキング 解答・解説

解答は 3 だ。

Podは、Kubernetesが管理する最小の単位で、中に1個以上のコンテナを入れる。同じPodの中のコンテナはネットワークを共有する。「1個だけ」と限らない点に注意ぞ、わが子よ。

選択肢1は「アクセス口」がServiceの役割で誤り、選択肢2は「1個だけ」が誤り、選択肢4は「ストレージ専用」が誤りである。

選択肢判定理由
1アクセス口はServiceの役割
21個に限らず1個以上入る
3最小単位で1個以上・ネット共有で正しい
4ストレージ専用ではない

オリジナル問題3(DeploymentとService)

📝 オリジナル問題 3 DeploymentとService

KubernetesのDeploymentとServiceに関する次の記述のうち、正しいものはどれか。

  1. Deploymentはアクセス口を提供する部品で、Serviceはコンテナを実際に動かすエンジンとされている
  2. DeploymentはPodの台数管理や更新を担い、ServiceはPodへの安定したアクセス口を提供する
  3. DeploymentもServiceもまったく同じ役割で、Podの数を増やすこと以外には機能がないものとされる
  4. Deploymentは保存領域を確保する部品で、Serviceは社員の勤怠を記録するためのものとされている
テクキング
テクキング 解答・解説

解答は 2 だ、わが子よ。

DeploymentはPodの台数管理や更新(ローリング更新・ロールバック)を担い、ServiceはPodへの安定したアクセス口を提供する。役割が分かれているのぞ。

選択肢1は役割が入れかわっており誤り、選択肢3は「同じ役割」が誤り、選択肢4は「保存領域」「勤怠記録」が誤りである。

選択肢判定理由
1役割が入れかわっている
2Deployment=台数管理・更新、Service=窓口で正しい
3役割は異なり同じではない
4保存領域や勤怠記録の部品ではない

まとめ

押さえどころ

次に学ぶ


執筆: SikakuQuest編集部

勉強は、クエストになった。

資格の勉強を、冒険に変えるRPG学習アプリ

App Storeで見る