Kubernetes(クーバネティス,略して K8s)は,たくさんのコンテナを複数のサーバにまたがって動かすための管理ツールです。 どのサーバでどのコンテナを動かすか,止まったコンテナをどう立て直すか,負荷に応じて数をどう増減するか,新しい版へどう入れ替えるかを自動で行います。 このような仕組みをコンテナオーケストレーションと呼び,Kubernetes はその代表的なオープンソースソフトウェア(OSS)です。
シラバスでの扱い
IPA が 2023年12月25日に公開した応用情報技術者試験シラバス Ver.7.0 で, 「大分類2:コンピュータシステム」の「中分類5:ソフトウェア」にある「オープンソースソフトウェア」に, 新しく「用途に応じた OSS」の項目ができました。その「仮想化・クラウド」の用語例が Xen,Docker,Kubernetes,Terraform,OpenStack,Istio です (その前の Ver.6.3 には,この項目自体がありません)。 同じ改訂で,IaC・サーバレス,マイクロサービスアーキテクチャ・サービスメッシュ・サーキットブレーカー,カナリアリリース・ブルーグリーンデプロイメントも用語例に加わりました。 この改訂は,ペーパー方式では令和6年度秋期試験から適用されています。
当サイトが収録している過去問(令和7年度秋期まで)では,Kubernetes という語はまだ出題されていません。 ただし中身のコンテナオーケストレーションは,ITサービスマネージャの午後Ⅰ 令和6年度 問3で,事例として正面から問われています(下の「既に問われた仕組み」)。
出典:IPA「情報処理技術者試験及び情報処理安全確保支援士試験における出題範囲・シラバスの一部改訂について」, 応用情報技術者試験 シラバス Ver.7.0, 同 Ver.6.3(いずれも2026年10月4日に確認)
コンテナだけでは足りないこと
コンテナ型仮想化は,アプリケーションとその実行環境をまとめ,ホスト OS を共有して動かす方式です。 ゲスト OS を持たないので軽く,起動も速いのが利点です。 ところが,本番のシステムでは何十・何百ものコンテナを何台ものサーバで動かします。人手で管理しようとすると,次のことが追いつきません。
| 人手では追いつかないこと | Kubernetes が自動で行うこと |
|---|---|
| どのサーバに置くか | 各サーバの空き資源(CPU・メモリ)を見て,コンテナを動かすサーバを選ぶ(スケジューリング) |
| 止まったときの立て直し | 異常終了したコンテナを再起動し,サーバが故障したら別のサーバで動かし直す(自己修復) |
| 負荷に応じた数の増減 | CPU 使用率などを見て,同じコンテナの数を増やしたり減らしたりする(オートスケーリング) |
| 新しい版への入替え | 古い版のコンテナを少しずつ新しい版に入れ替え,問題があれば前の版に戻す(ローリングアップデートとロールバック) |
| 宛先の変化 | コンテナが入れ替わって所在が変わっても,利用者からは同じ宛先に見せ,負荷を振り分ける(サービスディスカバリと負荷分散) |
宣言的な管理:「あるべき状態」に近づけ続ける
Kubernetes では,「この版のコンテナを3つ動かす」のようなあるべき状態(望ましい状態)を設定ファイルに宣言します。 「コンテナを起動せよ」という手順を一つずつ指示するのではありません。 Kubernetes は実際の状態を見張り続け,あるべき状態とずれていれば差を埋めるように動きます。 コンテナが1つ止まって2つになれば,指示がなくても3つに戻します。自己修復もオートスケーリングも,この考え方の上に成り立っています。
システムの構成をコードで定義して自動で適用する IaC(Infrastructure as Code)と同じ発想で, 設定ファイルを Git で管理すれば,構成の変更もプルリクエストでレビューしてから反映できます。
| 主な言葉 | 意味 |
|---|---|
| ポッド(Pod) | Kubernetes が動かす最小の単位。1つ以上のコンテナをまとめたもので,中のコンテナはネットワークや記憶域を共有する |
| ノード | ポッドを実際に動かすサーバ(物理サーバか仮想マシン) |
| コントロールプレーン | クラスタ全体の状態を保持し,ポッドの配置やあるべき状態との比較を行う管理の部分 |
| デプロイメント(Deployment) | 動かすポッドの版と数を宣言するもの。版を変えるとローリングアップデートが始まる |
| サービス(Service) | 入れ替わる複数のポッドに,変わらない1つの宛先を与えて負荷を振り分けるもの |
既に問われた仕組み
ITサービスマネージャの午後Ⅰ 令和6年度 問3「コンテナ型仮想環境における運用管理」は,製品名こそ出しませんが,Kubernetes が行っていることそのものを題材にしています。
-
オートスケーリングの計算。本文の「コンテナオーケストレーションツール」は,CPU 使用率がしきい値を外れるとコンテナの数を増減し,
数を,現在のコンテナ数に,現在の平均 CPU 使用率と期待する CPU 使用率の比を掛けて求めます。
設問3(2)は,4コンテナで平均 80%,期待する使用率 50%のときに,6.4 を切り上げた 7 を答えさせました。
Kubernetes の水平ポッドオートスケーラ(HPA)の計算
ceil[現在の数 × 現在の値 ÷ 目標の値]と同じ式です。 - ログはコンテナの外へ。コンテナは廃棄されるのが前提なので,エラーログをコンテナの中に出すと原因を調べられなくなる(設問3(1)。解答例は外部記憶装置に保存)。
- ブルーグリーンデプロイメント。新しい版の稼働環境を別に用意して切り替え,問題があれば古い版へ戻す(設問2)。
なお,システムアーキテクトの午前Ⅱ 令和7年度春期 問21「コンテナ型仮想化におけるオーケストレーションの説明」の正解は, 「処理の順序を制御するプログラムからのリクエストによってサービスを実行し,実行結果をレスポンスとして,制御するプログラムに返して処理を継続させる。」でした。 全体を指揮するプログラムがサービスを順に呼び出す方式のことで,指揮役を置かないコレオグラフィと対になります。 Kubernetes が行うコンテナの配置や再起動の自動化とは焦点が違うので,問題文の文脈で読み分けます。
出典:Kubernetes Documentation「Horizontal Pod Autoscaling」(2026年10月4日に確認)
試験での問われ方(予想)
- 午前:コンテナオーケストレーションの説明を選ぶ形。コンテナ型仮想化そのもの,ハイパーバイザー型,ライブマイグレーションとの見分け
- ITサービスマネージャ・システムアーキテクトの午後:オートスケーリングの計算(切り上げに注意),自己修復による可用性の確保, ローリングアップデート・ブルーグリーンデプロイメント・カナリアリリースの違い,コンテナの外にログやデータを置く理由
- 情報処理安全確保支援士:コンテナセキュリティ(同じ改訂で用語例に加わった)。脆弱性のあるコンテナイメージを使わない,設定ファイルに認証情報を書き込まない,など
近い論点で出題された過去問
コンテナ型仮想化,オーケストレーション,IaC,マイクロサービスに関係する問題です。
- 午前Ⅰ(高度試験 共通) 令和4年度 秋期 問5コンテナ型仮想化の説明として,適切なものはどれか。
- システムアーキテクト 午前Ⅱ 令和7年度 春期 問21コンテナ型仮想化におけるオーケストレーションの説明として,適切なものはどれか。
- 午前Ⅰ(高度試験 共通) 令和5年度 秋期 問5IaC(Infrastructure as Code)に関する記述として,最も適切なものはどれか…
- システムアーキテクト 午前Ⅱ 令和6年度 春期 問3マイクロサービスアーキテクチャを採用してアプリケーションソフトウェアを設計している。障害発生によ…
予想問題(オリジナル)
当サイトが作ったオリジナルの問題です。IPA の過去問ではありません。ほかの用語の予想問題の一覧
問1Kubernetes などのコンテナオーケストレーションツールが提供する機能の説明として,適切なものはどれか。
- アアプリケーションとその実行環境をまとめ,ホスト OS を共有して動作させることによって,ゲスト OS を必要とせず高速に起動できるようにする。
- イ稼働させるコンテナの数などのあるべき状態を宣言しておくと,実際の状態との差を検知し,異常終了したコンテナの再起動や台数の増減を自動で行う。
- ウ仮想化ソフトウェアによって,個別のゲスト OS をもった仮想サーバを1台の物理サーバ上で複数動作させる。
- エ物理サーバで動作している仮想サーバを,稼働しているソフトウェアを実行状態のまま別の物理サーバに移動させる。
正解と解説
正解:イ
コンテナオーケストレーションツールは,宣言されたあるべき状態に実際の状態を近づけ続けることで,再起動(自己修復)やスケーリングを自動化します。
- ア:コンテナ型仮想化そのもの(コンテナエンジンの働き)の説明です。複数のコンテナを管理する仕組みではありません。
- ウ:ハイパーバイザー型などの,ゲスト OS をもつ仮想サーバの説明です。
- エ:ライブマイグレーションの説明です。
問2あるコンテナオーケストレーションツールは,コンテナの数を「現在のコンテナ数 × 現在の平均 CPU 使用率 ÷ 目標の CPU 使用率」で求め,小数は切り上げる。現在 3 個のコンテナが平均 CPU 使用率 90%で稼働しており,目標の CPU 使用率が 60%のとき,スケーリング後のコンテナ数は幾つか。
- ア2
- イ4
- ウ5
- エ6
正解と解説
正解:ウ
3 × 90 ÷ 60 = 4.5 を切り上げて 5 個です。5 個に増やすと,1 個当たりの CPU 使用率は 3 × 90 ÷ 5 = 54%で,目標の 60%を下回ります。
- ア:目標と現在の使用率を逆にして(3 × 60 ÷ 90)計算した値です。
- イ:4.5 を切り捨てた値です。4 個では 3 × 90 ÷ 4 = 67.5%となり,目標の 60%を超えたままです。
- エ:現在の数を 2 倍にしただけで,式に合いません。
ITサービスマネージャの午後Ⅰ 令和6年度 問3 設問3(2) も,同じ式で切り上げを問いました。