先に要点
- Kubernetes(K8s)はコンテナを束ねて自動配置・自動復旧・スケールさせる「コンテナオーケストレーター」で、複数サーバーをひとつの大きな実行基盤のように扱える。
- 基本単位は Pod(コンテナの最小デプロイ単位)、それを動かす Node(サーバー)、全体を指揮する コントロールプレーン の3層構造で理解する。
- マネージドK8s(EKS / GKE / AKS)はコントロールプレーン運用を肩代わりしてくれる。料金はクラスタ管理費とノードのVM費に分かれ、最新は各公式の料金ページで確認する。
- 本格的なマイクロサービスや多数のコンテナ運用では強力だが、小規模では過剰になりやすい。導入前にメリットデメリットを天秤にかける。
Dockerでコンテナを作れるようになると、次に必ず出てくるのが「本番でコンテナをどう運用するのか」という問題です。コンテナが1つや2つなら手で起動すれば済みますが、数十個のコンテナを複数サーバーに分散し、落ちたら再起動し、アクセス増に合わせて増やす、という運用を人手でやるのは現実的ではありません。この「コンテナの群れを自動で面倒みる」仕組みがKubernetesです。
この記事ではKubernetesとは何かという基礎から、Pod・Node・コントロールプレーンの仕組み、実際の使いどころ、入門の触り、マネージドK8s(EKS / GKE / AKS)の料金体系、そしてメリットデメリットまでを一気通貫で解説します。先にコンテナそのものを理解したい場合はDockerコンテナとは何か、その利点を、コンテナ以外の選択肢と比べたい場合はコンテナ・サーバーレス・VMの比較を先に読むと位置づけがつかみやすくなります。
Kubernetesとは何か
Kubernetes(クバネティス、しばしばK8sと略記)は、コンテナ化したアプリケーションのデプロイ・スケーリング・運用を自動化するためのオープンソースのプラットフォームです。もともとGoogleが社内で使っていたコンテナ管理基盤の知見をベースに公開され、現在はCNCF(Cloud Native Computing Foundation)が中立的に管理しています。2026年6月時点の安定版はv1.36系(コードネーム Haru)で、最新パッチは1.36.2です。約4か月ごとにマイナーバージョンが上がり、直近3バージョンがサポート対象という速いリリースサイクルを持ちます。
ひとことで言うと、Kubernetesは「コンテナオーケストレーター」です。オーケストレーターとは、たくさんのコンテナをどのサーバーで動かすか、何個動かすか、落ちたらどうするかを指揮する役割を指します。指揮者がいることで、運用者は「このアプリをコンテナで3つ動かしたい」というあるべき状態(宣言)を書くだけでよくなり、実際にどのサーバーに配置して維持するかはKubernetesが面倒をみてくれます。この「宣言した状態に実態を合わせ続ける」考え方を宣言的(declarative)な運用と呼び、Kubernetesの根幹です。
できること(Kubernetesが解決する課題)
自動配置(スケジューリング)
どのサーバーに空きがあるかを見て、コンテナを最適なノードへ自動で割り当てる。空きCPUやメモリを考慮するため、サーバーを手で選ぶ必要がない。
自動復旧(セルフヒーリング)
コンテナやサーバーが落ちても、あるべき個数を維持するように自動で作り直す。深夜の障害で叩き起こされる回数を減らせる。
スケーリング
負荷に応じてコンテナの数を増減する。CPU使用率をトリガーに自動で増やすオートスケールも標準で備える。
Kubernetesの仕組み(Pod・Node・コントロールプレーン)
Kubernetesを理解する近道は、登場人物を3層に分けて押さえることです。下から順に、コンテナを包むPod、Podを動かすサーバーであるNode、全体を指揮するコントロールプレーンです。
Pod ― 最小のデプロイ単位
Podはコンテナを1つ以上まとめた、Kubernetesが扱う最小の単位です。多くの場合1Pod = 1コンテナですが、ログ転送やプロキシのような補助的なコンテナを同じPodに同居させることもあります。同じPod内のコンテナはネットワークとストレージを共有するため、密接に連携する処理をまとめるのに向いています。重要なのは、Podは使い捨てとして設計されている点です。落ちたら同じものが作り直されるだけで、同一のPodが復活するわけではありません。だからこそデータはPodの外(永続ボリュームやデータベース)に置くのが鉄則になります。
Node ― Podが動くサーバー
NodeはPodが実際に動く物理または仮想のサーバーです。各Nodeにはkubeletという常駐プロセスがいて、コントロールプレーンの指示どおりにPodを起動・監視します。Nodeを複数並べた集まりがクラスタで、Kubernetesはこのクラスタ全体をひとつの大きな実行基盤のように扱います。利用者から見れば「どのサーバーで動いているか」を意識せず、クラスタに対してアプリを預けるイメージです。マネージドK8sでは、このNode群(ワーカーノード)がそのままVM課金の対象になります。
コントロールプレーン ― 全体の頭脳
コントロールプレーンはクラスタ全体を管理する司令塔です。主要な部品として、すべての設定状態を保持するetcd(データストア)、利用者の指示を受け付けるAPIサーバー、あるべき状態と実態の差を埋め続けるコントローラ、Podの配置先を決めるスケジューラがあります。利用者がkubectlコマンドで「このアプリを3つ」と宣言すると、APIサーバーがそれを受け取り、スケジューラが配置先を決め、各Nodeのkubeletが起動し、コントローラが常に3つを維持し続けます。この一連の自動制御こそがKubernetesの価値です。
| 用語 | 役割 | たとえると |
|---|---|---|
| Pod | コンテナを包む最小の実行単位 | 荷物の入った箱 |
| Node | Podを動かすサーバー | 箱を載せるトラック |
| クラスタ | Nodeの集まり全体 | トラックの車庫 |
| コントロールプレーン | 配置と維持を指揮する頭脳 | 配車を仕切る管制室 |
| kubectl | 利用者が指示を出すコマンド | 管制室への注文票 |
入門の触り ― 最小の流れをつかむ
実際にKubernetesを触るときの最小の流れを、雰囲気だけ押さえておきましょう。手元で試すならMinikubeやkindといったローカル用ツールで1台のPCにクラスタを立てられます。本番に近い形を試すなら、後述のマネージドK8sで小さなクラスタを作るのが手早いです。
ここで使うYAMLはYAML形式の設定ファイルで、Kubernetesでは「あるべき状態」をこのマニフェストに書き下します。最初のうちはDeploymentとServiceの2つを書ければ十分アプリが動きます。逆に言えば、KubernetesはこのYAMLの量と複雑さが学習コストの大半を占めるため、いきなり全機能を覚えようとせず、Deployment・Service・Podの3つから始めるのが挫折しないコツです。
マネージドK8s(EKS / GKE / AKS)の料金体系
Kubernetesは自前でクラスタを構築・運用することもできますが、コントロールプレーンの冗長化やバージョン更新、etcdのバックアップまで自力で面倒をみるのは重労働です。そこで多くの現場はクラウド各社のマネージドK8sを使い、コントロールプレーンの運用を肩代わりしてもらいます。代表が AWS の EKS、Google Cloud の GKE、Azure の AKS です。
料金は大きく2つに分かれます。ひとつはクラスタ管理費(コントロールプレーンの利用料)、もうひとつはPodを動かすワーカーノードのVM費です。注意したいのは、実際の請求の大半を占めるのはクラスタ管理費ではなくノードのVM費や、ロードバランサー・通信量・ストレージといった周辺コストである点です。クラスタ管理費は全体の数%程度に過ぎないことが多く、料金比較をクラスタ費だけで判断すると見誤ります。
| サービス | クラスタ管理費(コントロールプレーン) | ノード費 |
|---|---|---|
| EKS(AWS) | 1クラスタあたり約0.10ドル/時(およそ73ドル/月)。サポート終了後の延長サポート版はさらに高くなる | EC2インスタンスの料金が別途かかる |
| GKE(Google Cloud) | 無料枠が手厚く、小規模なら管理費が抑えられる構成がある。それを超えると1クラスタあたり約0.10ドル/時 | Compute Engineの料金が別途かかる |
| AKS(Azure) | 標準のコントロールプレーンは無料(有償の可用性保証プランは別) | 仮想マシンの料金が別途かかる |
ここに挙げた数字は2026年6月時点の概況です。クラウドの料金はリージョンやサポート状況、有償オプションで変わり、頻繁に改定されます。導入前には必ず各サービスの公式料金ページで最新を確認してください。とくにEKSはKubernetesのサポートが切れた古いバージョンを使い続けると延長サポート料金が上乗せされるため、バージョン更新を怠らない運用が前提になります。
料金で気をつける落とし穴
ノード費が主役
クラスタ管理費が無料でも、Podを動かすVMの台数とサイズで請求が決まる。空のクラスタでもノードを起動していれば課金は続く。
アイドルでも課金
夜間や休日にアクセスがなくても、ノードを止めなければ費用は発生する。オートスケールで最小台数を絞る設計が効く。
メリットとデメリット ― どんな案件で選ぶか
Kubernetesは強力ですが万能ではありません。実務での判断は「コンテナの数と運用の複雑さが、Kubernetesの学習・運用コストを上回るか」で決まります。
| 観点 | メリット | デメリット |
|---|---|---|
| 運用の自動化 | 自動復旧・スケール・無停止デプロイが標準で手に入る | 恩恵を受けるには相応のコンテナ数と負荷変動が必要 |
| 移植性 | クラウドをまたいでほぼ同じ手順で動かせる。ベンダーロックインを薄められる | マネージド固有機能を使うと結局ロックインは残る |
| 学習コスト | 一度覚えれば現場をまたいで通用する標準スキルになる | YAML・ネットワーク・権限など覚えることが多く、立ち上がりが重い |
| 運用負荷 | 宣言的運用で構成をコード管理しやすい | クラスタ自体の保守・監視・更新という新たな運用が増える |
選ぶべき案件は、複数のサービスをコンテナで分割して動かすマイクロサービス構成、トラフィックの増減が大きくオートスケールが効くサービス、複数チームが共通基盤を使い回したいケースなどです。逆に、コンテナが数個で済む単機能のサービスや、アクセスが安定した社内ツール程度であれば、Kubernetesの運用コストが利益を上回りがちです。小規模での「やりすぎ」を見極める具体的な基準はKubernetesは小規模サービスに必要かで詳しく扱っているので、導入を迷っている段階なら先にそちらを読むことをおすすめします。また、運用をできるだけ持ちたくないならコンテナ・サーバーレス・VMの比較を見て、サーバーレスという選択肢も並べて検討すると判断が早まります。
Kubernetesに関するよくある質問
Q. KubernetesとDockerは何が違いますか
A. 役割が違います。Dockerはコンテナを作って1台のマシンで動かすためのツールで、Kubernetesはそのコンテナを多数のサーバーにまたがって自動運用するための仕組みです。実際にはDockerなどで作ったコンテナイメージをKubernetesが配置して動かす、という補完関係にあります。コンテナ自体の利点はDockerコンテナとは何かを参照してください。
Q. K8sという略称は何ですか
A. Kubernetesの略記です。先頭のKと末尾のsの間に8文字(ubernete)あることから、間を8に置き換えてK8sと書きます。読み方は「ケーエイツ」が一般的です。
Q. PodとコンテナとNodeの関係がわかりません
A. 内側から、コンテナをPodが包み、PodをNodeが動かす、という入れ子の関係です。Podはコンテナの最小デプロイ単位、NodeはPodが載るサーバー、そのNodeの集まりがクラスタです。記事の「仕組み」の表のたとえ(箱・トラック・車庫)で整理すると覚えやすくなります。
Q. 個人や学習目的でも使えますか
A. 使えます。MinikubeやkindならノートPC1台にクラスタを立てて無料で学べます。ただし学習コストは高いので、まずDockerでコンテナに慣れてから、Deployment・Service・Podの3つに絞って触り始めるのが現実的です。
Q. EKS・GKE・AKSのどれを選べばよいですか
A. すでに使っているクラウドに合わせるのが基本です。AWS中心ならEKS、Google Cloud中心ならGKE、Azure中心ならAKSを選ぶと周辺サービスとの統合が楽になります。料金面ではコントロールプレーン費だけでなく、ノードのVM費や通信・ストレージを含めた総額で比較してください。
Q. マネージドK8sは無料で始められますか
A. コントロールプレーンが無料のサービスもありますが、Podを動かすノードのVM費は必ずかかるため、完全無料で本番運用はできません。クラウドの新規登録特典やGKEの無料枠を使えば学習用の小さなクラスタは低コストで試せます。最新の料金は各公式の料金ページで確認してください。
Q. Kubernetesのバージョンはどのくらいの頻度で上がりますか
A. おおむね4か月ごとにマイナーバージョンが上がり、サポートされるのは直近3バージョンほどです。2026年6月時点の安定版はv1.36系です。古いバージョンを放置するとセキュリティ更新が受けられず、マネージドK8sでは延長サポート料金が発生する場合もあるため、定期的なバージョン更新を運用に組み込む必要があります。