Kubernetes(クバネティス/クーベネティス、略称K8s)とは、多数のコンテナの配置・稼働・復旧・増減を自動で管理するオープンソースの基盤(コンテナオーケストレーションツール)です。コンテナを「作って動かす」のがDockerなら、その大量のコンテナを複数のサーバーにまたがって束ね、望ましい状態を保ち続ける“司令塔”がKubernetesにあたります。この記事では、Kubernetesとは何かという役割から、導入で得られるメリットと引き換えに背負うデメリット、Dockerとの違い、Pod・クラスタといった仕組み、つまずきやすい読み方・語源、そして手元で動かして確かめる手順までを、専門用語をかみくだいて順に解説します。
まとめ
先に結論です。Kubernetesとは、コンテナ化したアプリのデプロイ・スケーリング・障害復旧・更新を自動化するオープンソースのプラットフォーム(コンテナオーケストレーションツール)です。あらかじめ「アプリのコピーを常に3つ動かす」といった望ましい状態を宣言しておくと、Kubernetesが現状と照らし合わせ、自動でその状態へ近づけ・維持し続けます。
メリットは大きく7つあります。自動スケーリング、自己修復、無停止のローリング更新とロールバック、負荷分散、リソースの詰め込み効率、シークレットと設定の分離、クラウドをまたげる可搬性です。どれも「人が張り付いていた運用作業を宣言で置き換える」という一点に集約されます。反対にデメリットは、学習コスト、クラスタそのものの運用負荷、管理料金とバージョン追随の手間の3つです。サービス数が多く、リリース頻度が高く、運用担当を置ける組織ではメリットが上回り、コンテナが数個の小規模アプリでは負担のほうが勝ちます。
Dockerとは競合ではなく役割分担する補完関係で、コンテナを作るのがDocker、大量のコンテナを複数サーバーで管理するのがKubernetesです。読み方は「クーベネティス/クバネティス」など複数が併存し、略称K8s(ケーエイツ)はKとsの間の8文字に由来します。本体は無料ですが運用負荷が高いため、初心者はGKE・AKS・EKSといったマネージドサービスから始めるのが現実的です。以下、役割・違い・仕組み・メリット・デメリット・判断・始め方の順に見ていきます。
Kubernetes(クバネティス)とは?コンテナを束ねる「司令塔」
Kubernetesは、Googleが社内で使っていた「Borg」というシステムをもとに開発し、2014年にオープンソースとして公開したソフトウェアです。現在はGoogleの手を離れ、クラウドネイティブ技術を推進する非営利団体CNCF(Cloud Native Computing Foundation)が中立的に開発・運営しています。公式のKubernetes Overviewは、Googleが15年以上にわたって本番の大規模ワークロードを動かしてきた経験と、コミュニティの知見を組み合わせたものだと説明しています。
役割を理解する前提が「コンテナ」です。コンテナとは、アプリと、それを動かすのに必要なライブラリや設定を一つの箱にまとめ、どの環境でも同じように動かせるようにした軽量な仮想化技術のこと。基礎はコンテナ技術とは何か:仮想化との違いや基本概念を解説で扱っています。この「箱」を大量に、しかも安定して動かす段になって初めてKubernetesが必要になります。
なぜKubernetesが必要になるのか:手作業の運用が回らなくなる4つの場面
コンテナが1つや2つなら手作業でも管理できます。しかし本番サービスでは、数十〜数百のコンテナを複数のサーバーにまたがって動かすことになり、次のような作業が一気に煩雑になります。
- どのサーバーにどのコンテナを配置するか(空きリソースを見た割り当て)
- コンテナやサーバーが落ちたときの検知と再起動・再配置
- アクセス急増に合わせたコンテナの増減
- 停止せずに新バージョンへ入れ替える更新作業
この「大量のコンテナをまとめて面倒みる」仕事を自動化するのがKubernetesの役割です。あらかじめ「望ましい状態」を宣言しておくと、現状と照らし合わせて自動でその状態へ近づけ、維持し続けます。こうした役割のツールを総称してコンテナオーケストレーションと呼び、Kubernetesはその事実上の標準(デファクトスタンダード)になっています。オーケストレーションという考え方そのものと、自社に要るかどうかの見極め方はコンテナオーケストレーションとは?Kubernetesの役割と自社に必要かの判断で整理しました。
KubernetesとDockerの違いは?
初心者が最もつまずくのが「KubernetesとDockerは何が違うのか」です。結論から言うと、両者は“どちらか一方を選ぶもの”ではなく、役割が異なり、組み合わせて使う補完関係にあります。
Dockerはコンテナを「作る・動かす」ためのツールで、基本的に1台のサーバー(単一ノード)の上で動きます。一方Kubernetesは、Dockerなどで用意したコンテナを複数サーバー(クラスタ)にまたがって配置・管理するオーケストレーターです。Dockerでアプリを箱詰めし、その大量の箱をKubernetesが束ねて運ぶ、という分担になります。
| 観点 | Docker | Kubernetes |
|---|---|---|
| 主な役割 | コンテナ化・実行 | コンテナの運用管理 |
| 実行範囲 | 単一ノード | クラスタ(複数ノード) |
| 得意なこと | 環境の再現・配布 | 自動スケール・自己修復 |
| 関係 | 補完関係(組み合わせて使う) | |
そのため「Kubernetes対Docker」という対立軸はあまり意味がありません。小規模ならDocker単体やDocker Composeで十分なケースも多く、規模が大きくなった段階でKubernetesの出番になります。Dockerそのものの仕組みはDockerの仕組みを原理から理解する(コンテナ隔離・VMとの違い)で確認できます。
Kubernetesの仕組みとアーキテクチャ:Pod・Node・クラスタの関係
Kubernetesのメリットがどこから生まれるのかを理解するために、押さえておきたい用語を最小限にしぼって整理します。まず押さえたいのは、Kubernetesではコンテナを単体ではなく「Pod(ポッド)」という単位で扱う点です。
| 用語 | 役割(ざっくり) |
|---|---|
| Pod(ポッド) | 1つ以上のコンテナをまとめた最小単位 |
| Node(ノード) | Podが動くサーバー(物理/仮想) |
| Cluster(クラスタ) | 複数Nodeの集合体。実行環境全体 |
| Control Plane | クラスタ全体を制御する司令塔 |
kubectl |
クラスタを操作するコマンド |
Podは、密接に連携する1つ以上のコンテナをひとまとめにした、Kubernetes最小のデプロイ単位です。Pod内のコンテナは同じネットワークやストレージを共有できます。ただしその共有ストレージはPodの寿命で消えるため、Podをまたいでデータを残すにはPV・PVC・StorageClassによる永続化ストレージの設計が必要です。その永続ボリュームをクラスタのリソース定義ごとまとめて退避・復元する手段はVeleroによるKubernetesのバックアップと移行で解説しています。Pod同士やServiceをまたぐ通信の設計はService・Ingress・Pod間通信とCNI選定の実装判断で整理しています。そのPodが実際に動くサーバーがNodeで、Nodeを複数まとめた全体がClusterです。
Control Plane(コントロールプレーン)とWorker Nodeの構成要素
クラスタは、頭脳にあたるControl Planeと、実際にPodを動かすWorker Nodeに分かれます。それぞれの主なコンポーネントは次のとおりです。ここを押さえると「宣言した状態がなぜ自動で保たれるのか」が具体的に見えてきます。
| 層 | コンポーネント | 担当 |
|---|---|---|
| Control Plane | kube-apiserver | 全操作の受付口(唯一の入り口) |
| etcd | クラスタ状態を保存するデータストア | |
| kube-scheduler | 新しいPodの配置先Nodeを決定 | |
| controller-manager | 現状をあるべき状態へ調整し続ける | |
| Node | kubelet | Node上でPodを起動・監視 |
| kube-proxy | Podへの通信を振り分ける | |
| コンテナランタイム | コンテナの実行主体(containerd等) |
利用者はkube-apiserverに対して「あるべき状態」を登録し、controller-managerが現状との差分を埋め、kube-schedulerが配置を決め、各Nodeのkubeletがその通りにコンテナを起動します。なお、Nodeでコンテナを動かす実体はcontainerdなどのコンテナランタイムで、Docker専用の連携層(dockershim)はKubernetes 1.24(2022年)で削除済みです。Docker自体でビルドしたイメージは今も問題なく動きます。
宣言的(Declarative)な管理とkubectl:YAMLにゴールを書く方式
Kubernetesの大きな特徴は「宣言的」な管理方式です。「どう操作するか」を一手ずつ命令するのではなく、設定ファイルに「こういう状態であってほしい」というゴールだけを書きます。たとえば下のようにアプリのコピー数(レプリカ)を3と宣言しておけば、あるコンテナが落ちて2つに減っても自動で1つ起動して3つに戻す仕組みです。後の章でオートスケールを試すため、各コンテナが要求するCPUとメモリ(resources.requests)も書いておきます。
apiVersion: apps/v1
kind: Deployment
metadata:
name: web
spec:
replicas: 3 # 常に3つ動かしたい、という「あるべき状態」
selector:
matchLabels:
app: web
template:
metadata:
labels:
app: web
spec:
containers:
- name: web
image: nginx:1.27
ports:
- containerPort: 80
resources:
requests: # スケジューラが配置先を決める根拠になる
cpu: 100m
memory: 128Mi
このファイルをクラスタへ反映したり状態を確認したりする操作は、コマンドラインツールkubectlで行います(例:kubectl apply -f web.yaml、kubectl get pods)。kubectlと、独自リソースを実装するときのkubebuilderとの使い分けはkubectlとkubebuilderの違いと使い分けで、apiserverが公開するリソース構造はKubernetes APIの仕組み・リソース・CRD拡張で掘り下げています。
Kubernetesのメリット7つ:公式の機能一覧を運用の言葉で読み解く
宣言的な管理を土台に、Kubernetesは運用の手間を大きく減らす機能を備えています。公式のOverviewは、サービスディスカバリと負荷分散、ストレージのオーケストレーション、自動ロールアウトとロールバック、自動ビンパッキング、自己修復、シークレットと構成管理、バッチ実行、水平スケーリング、IPv4/IPv6デュアルスタック、拡張性を挙げています。ここで取り上げるのは、それらを現場での効果に沿ってまとめ直した7つのメリットです。
| メリット | 手作業だと何が起きるか | Kubernetesの機能 |
|---|---|---|
| 自動スケーリング | ピークに合わせて常時過剰 | HorizontalPodAutoscaler |
| 自己修復 | 夜間障害で人が呼ばれる | 再起動・再配置・Probe |
| 無停止更新と切り戻し | メンテ時間を取って更新 | Deploymentのロールアウト |
| 負荷分散 | LB設定をPodごとに直す | Service・DNS名 |
| リソース効率 | サーバーごとに空きが散る | requestsによる配置 |
| 設定と秘密情報の分離 | イメージに設定を焼き込む | ConfigMap・Secret |
| 可搬性と拡張性 | クラウドごとに作り直し | 共通API・CRD |
メリット1:自動スケーリングで負荷の波に合わせてPod数を増減できる
CPU使用率やアクセス量に応じてPod数を自動で増減し、急なトラフィックにも過剰なサーバー費用にも傾かないよう調整します。担うのはHorizontalPodAutoscaler(HPA)で、公式ドキュメントによれば既定では15秒ごとにメトリクスを確認し、「現在のレプリカ数 ×(現在の値 ÷ 目標値)」を切り上げた数へPodを合わせます。目標CPU使用率60%のところ実測120%なら、レプリカは2倍になる計算です。Pod数ではなくノード(サーバー)そのものを増減させたい場合は、Karpenterによるノード自動プロビジョニングとCluster Autoscalerとの違いで扱う仕組みを組み合わせます。
メリット2:自己修復で落ちたコンテナを人手を介さず立て直せる
コンテナやNodeに障害が起きても、自動で再起動・再配置して稼働を保ちます。応答しないコンテナは利用者が定義したヘルスチェックに従って入れ替えられ、準備が整うまではリクエストの振り分け先から外されます。正常性の判定に使うのは、Liveness/Readinessといったコンテナのヘルスチェック(Liveness Probe)です。夜間にプロセスが落ちても、担当者が起きる前に元の台数へ戻っているのが、運用面で最も体感しやすい変化です。
メリット3:ローリングアップデートで止めずに更新し、すぐ切り戻せる
サービスを止めずに新バージョンへ段階的に更新し、問題があればひとコマンドで前のバージョンへ戻せます。Deploymentの公式ドキュメントでは、既定で希望数の75%以上を稼働させたまま(maxUnavailable 25%)、上限125%まで(maxSurge 25%)新旧を入れ替えると説明されています。過去のリビジョンは既定で10世代まで保持されるため、切り戻し先に困りません。新旧環境を丸ごと並べて切り替える方式との比較はブルーグリーンデプロイメントの仕組みとKubernetes実装にまとめています。
メリット4:負荷分散とサービスディスカバリで接続先が安定する
複数のPodにリクエストを振り分け、Podが入れ替わっても安定したアクセス先を提供します。Serviceという抽象を作るとDNS名と固定の仮想IPが割り当てられ、背後のPodが増えても減っても呼び出し側は同じ名前で接続できる仕組みです。振り分け方式の基礎はロードバランサーの仕組み・種類・振り分け方式で解説しています。
メリット5:ビンパッキングによるサーバーの空き資源へのコンテナ配置
各コンテナが必要とするCPUとメモリを宣言しておくと、スケジューラがその値をもとにノードへPodを詰めていきます。アプリごとにサーバーを割り当てる構成では、各サーバーに少しずつ使われない余白が残りがちです。Kubernetesに集約すると余白をまとめて埋められるため、同じ処理量を少ないノード数で回せる余地が生まれます。ただしrequestsを実態より大きく書くと逆効果になるので、監視で実測値を見ながら調整します。
メリット6:設定と秘密情報をイメージから分離して安全に差し替えられる
パスワードやAPIトークンはSecret、接続先URLなどの設定値はConfigMapとして管理し、コンテナイメージを作り直さずに差し替えられます。開発・検証・本番で同じイメージを使い回せるので、「検証では動いたのに本番だけ違う」というずれを減らせる仕組みです。なおSecretは既定ではbase64で格納されるだけなので、保存時の暗号化や外部のシークレット管理との連携は別途設計が要ります。
メリット7:クラウドをまたげる可搬性と、CRDで機能を足せる拡張性
Kubernetesの宣言ファイルはEKS・GKE・AKSのどれでも基本的に同じ形で通ります。クラウド固有のコンテナサービスに比べて特定ベンダーへの依存を下げやすく、オンプレミスとクラウドの併用にも向く構成です。さらにCustom Resource Definition(CRD)を使えば、本体のソースを書き換えずに独自のリソースや制御を足せます。HelmやArgo CDといった周辺ツールが揃っているのも、この拡張性の上に成り立っています。
要するに、Kubernetesの価値は「速さ」や「豊富な機能」そのものではなく、人手で張り付いていた運用作業(配置・復旧・増減・更新)を宣言で自動化し、夜間の障害でも自動で立て直せることにあります。複数の小さなサービスを組み合わせる構成ほどこの効果は大きく、構成側の考え方はマイクロサービスとは?モノリスとの違い・メリット・デメリットと選び方で整理しています。
kindでメリットを試す:自己修復・無停止更新・オートスケールの手順
メリットは読むより動かしたほうが早く腹落ちします。ここでは自分のPC上に検証用クラスタを作り、自己修復・ローリング更新・オートスケールの3つを順に確かめます。前提はDockerとkubectl、kind(Kubernetes in Docker)のQuick Startに沿ったkind本体の導入です。上の章のDeploymentをweb.yamlとして保存しておきます。
まずクラスタを作ってDeploymentを適用し、Podを1つ削除して自己修復を確かめます。
# 検証用クラスタを作成してDeploymentを適用
kind create cluster --name demo
kubectl apply -f web.yaml
kubectl get pods -l app=web
# Podを1つ消すと、数秒で新しいPodが作られて3つに戻る
kubectl delete pod "$(kubectl get pods -l app=web -o name | head -n 1)"
kubectl get pods -l app=web --watch
次に、イメージのバージョンを上げてローリング更新を観察し、そのまま切り戻します。更新中もREADYの数が大きく減らないことが確認できます。
# 新バージョンへ段階的に入れ替える
kubectl set image deployment/web web=nginx:1.28
kubectl rollout status deployment/web
# 履歴を確認し、ひとつ前のリビジョンへ戻す
kubectl rollout history deployment/web
kubectl rollout undo deployment/web
最後にオートスケールです。HPAはリソースメトリクスをmetrics-serverから受け取るため、先に導入します。metrics-serverのREADMEは、kubeletの証明書がクラスタのCAで署名されていない環境では--kubelet-insecure-tlsで検証を外す方法を示しており、kindのような検証環境ではこの引数を足すと起動することがあります。本番では使わない設定なので注意してください。
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: web
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: web
minReplicas: 3
maxReplicas: 10
metrics:
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: 60 # requestsの60%を目標にPod数を調整
これをhpa.yamlとして適用し、kubectl get hpa web --watchで目標値と現在値、レプリカ数の推移を見ます。負荷のかけ方まで含めた手順は公式のHorizontalPodAutoscaler Walkthroughが詳しく、busyboxからリクエストを送り続けてPodが増える様子を追えます。検証が済んだら、片付けに使うコマンドはkind delete cluster --name demoです。kindでのクラスタ作成からServiceの公開までをさらに細かく追う手順はk8sをローカルで動かす手順にコマンド付きでまとめています。
Kubernetesのデメリットと導入コスト:学習・運用・料金の3つの重さ
メリットの裏側には、はっきりしたコストがあります。導入前に見積もっておきたいのは次の3つです。
デメリット1:学習コストが高く、YAMLとネットワークと権限を同時に覚える
Kubernetesは機能が豊富なぶん学習コストが高く、宣言ファイルやネットワーク、権限(RBAC)の設計まで含めると習得に時間がかかります。PodやDeploymentだけでなく、Service、Ingress、ConfigMap、Secret、PersistentVolumeと覚える資源が多く、障害時にどの層を疑えばよいか判断できるまでには実運用の経験が要ります。チームに1人しか分かる人がいない状態は、それ自体が障害リスクです。
デメリット2:クラスタ自体の運用と監視という新しい仕事が増える
アプリの運用を自動化する代わりに、クラスタという新しい運用対象が生まれます。ノードのOS更新、アドオンの更新、証明書、ログとメトリクスの収集基盤など、アプリとは別の保守が必要です。メトリクス・ログ・アラートの閾値をどこまで作り込むかはKubernetes監視・モニタリングの設計とアラート閾値の実装判断で扱っています。
デメリット3:管理料金とバージョン追随のコストが継続してかかる
本体は無料でも、マネージドサービスにはクラスタ単位の管理料金が乗ります。Amazon EKSの料金ページでは、標準サポート期間のバージョンは1クラスタあたり1時間0.10ドル、延長サポートに入ると1時間0.60ドルとされています(2026年10月時点)。月730時間で換算すると、標準で約73ドル、延長で約438ドルです。GKEの料金ページもクラスタ管理手数料は1時間0.10ドルで、請求先アカウントごとに月74.40ドル分の無料枠(ゾーンクラスタかAutopilotクラスタ1つ分)がある、という記載です。ワーカーノードの計算資源は別料金になります。
加えて、Kubernetesはおおむね年3回のペースで新しいマイナーバージョンが出ます。公式のリリース一覧では、2026年10月時点でサポート中なのは1.34系〜1.37系で、1.34系は2026年10月27日にEOLを迎える予定です。EKSは標準サポートが14か月、その後12か月の延長サポートという区切りで、更新を先送りすると上の延長料金が発生します。年に1〜2回はアップグレード作業を計画に組み込む前提で考えてください。
| コスト | 中身 | 軽くする手段 |
|---|---|---|
| 学習 | 資源の種類と障害の切り分け | kindで壊して覚える |
| 運用 | ノード・アドオン・監視の保守 | マネージドとAuto系機能 |
| 料金 | EKS・GKEは0.10ドル毎時から | クラスタ数を絞る |
| バージョン追随 | 年3回のリリースとEOL | 年次の更新計画を持つ |
Kubernetesの使いどころと、あえて使わない判断:採用条件を言い切る
こうした強みから、Kubernetesはマイクロサービス(多数の小さなサービスを組み合わせる構成)や、頻繁なリリースを自動化するCI/CDパイプライン、可用性が重視される大規模な本番システムと特に相性がよいといえます。トラフィックの波が大きいサービスや、複数チームが独立してデプロイする組織でも効果が出ます。
一方で、Kubernetesを入れれば良いというものではありません。次のような場合はむしろ過剰で、Docker ComposeやPaaS(Cloud Runなど)のほうが速く安全に運用できます。導入判断では「規模と運用体制に見合うか」を先に問うべきです。
- コンテナが数個で、負荷の波もほとんどない小規模アプリ
- クラスタを継続的に面倒みる運用担当(SRE)を置けない体制
- 学習・構築にかける時間より、まず動かして検証したいフェーズ
一創としての判断基準は次のとおりです。サービスが5つ以上ある、週に複数回リリースする、運用担当を最低2人確保できるのうち2つ以上を満たすなら、Kubernetesのメリットが運用コストを上回ります。1つ以下なら、まずはサーバーレスコンテナかクラウド固有のコンテナサービスで始め、規模が育ってから移るほうが遠回りになりません。
| 状況 | 向く選択肢 |
|---|---|
| コンテナ数個・波なし | Docker Compose・PaaS |
| AWS中心で運用を軽くしたい | ECS(Fargate) |
| リクエスト駆動で常時稼働不要 | Cloud Run |
| 多サービス・高頻度リリース | EKS・GKE・AKS |
| 複数クラウドや社内基盤と併用 | Kubernetes(マネージド) |
AWS上でKubernetesを使わずに済ませる選択肢はAWS ECSとは?起動タイプ・料金・EKSとの違い、Google Cloud側のサーバーレス案はCloud Runとは?GKE/Cloud Functionsとの違いで比べられます。Kubernetesを採る場合のマネージドの選び方はAmazon EKSの仕組み・料金モデル・ECSとの使い分けとGKEのAutopilot/Standardの違いと料金モデルが判断材料になります。
クラスタ設計や既存システムのコンテナ移行を自社だけで進めるのが難しい場合は、一創のインフラ構築(AWS・Google Cloud・Azure)で、EKS・GKE・AKSの構築から監視・アップグレード計画まで相談を受けています。「Kubernetesまで要るのか、ECSやCloud Runで足りるのか」という手前の判断から一緒に整理できます。
「いま自分の規模に本当に必要か」を見極めてから選ぶことが、遠回りを避ける近道です。
Kubernetesの学習と開発環境の始め方:ローカルからマネージドへ
「Kubernetesの開発を始めたい」「入門したい」という段階では、いきなり本番クラスタを自前構築せず、次の順で触るのが挫折しにくい進め方です。
- コンテナとDockerの基礎を先に固める:Kubernetesはコンテナが前提。Dockerでイメージのビルドと実行を一通り体験しておく。
- ローカルに小さなクラスタを立てる:
minikubeやkind(Kubernetes in Docker)を使えば、自分のPC1台に検証用クラスタを作れる。Pod・Deployment・Serviceをkubectlで作って壊す練習に向く。 - マネージドサービスで運用に近い形を試す:本格運用は、構築・アップグレード・監視を肩代わりしてくれるマネージドKubernetesが現実的。代表格はGoogleのGKE、Microsoft AzureのAKS、AWSのEKS。
マネージドの具体像はAKS(Azure Kubernetes Service)とは|できること・料金・始め方が参考になります。学習に使うバージョンは、非推奨機能でつまずかないようKubernetesの最新バージョン1.37の確認方法・EOL一覧とアップグレード手順で最新のサポート状況を確認しておくと安全です。まずローカルのminikube/kindで概念を手を動かして覚え、次にマネージドで運用の感覚をつかむ。この順に進むと、非推奨機能や課金でつまずく前に基礎が固まります。
Kubernetesの読み方とK8sという略称、ギリシャ語の名前の由来
Kubernetesには、公式に「これが正解」と定められた唯一の日本語読みはありません。英語の発音は koo-ber-net-ees(クーバネティス) に近く、共同開発者の一人であるBrendan Burns氏も、開発チームの多くは「koo-ber-net-ees」もしくは略称の「k-eights(ケーエイツ)」と呼ぶと述べています。これを日本語のカタカナに置き換える過程でゆれが生じ、複数の表記が併存しているのが実情です。
| 表記 | 主な読み方 | 備考 |
|---|---|---|
| Kubernetes | クーベネティス | 比較的よく使われる |
| クバネティス | カタカナ表記で多い | |
| クーバネティス | 英語発音に近い | |
| K8s | ケーエイツ | 略称。最も手軽 |
略称のK8sは、先頭の「K」と末尾の「s」の間にある8文字(ubernete)を数字の「8」で置き換えたものです。「i18n(internationalization)」や「a11y(accessibility)」と同じ、長い英単語を縮める数字略記(numeronym)の一種です。
名前の語源はギリシャ語のκυβερνήτης(kubernḗtēs)で、「操舵手」「水先案内人(パイロット)」を意味します。英語で「人工頭脳学」を指すcybernetics(サイバネティクス)の語源でもある言葉です。コンテナという“積み荷”を載せた船を安全に導く舵取り役、というイメージが名前に込められており、公式ロゴが船の舵をかたどっているのもこのためです。ちなみにGoogle社内での当初のコードネームは「Project Seven」で、これはスタートレックのキャラクター“セブン・オブ・ナイン”に由来し、ロゴの輪にある7本のスポークにその名残があります。
Kubernetesの歴史とエコシステム、1.37系までの最新動向
Kubernetesは、Googleが十数年かけて運用してきた大規模コンテナ基盤「Borg」の知見をもとに生まれ、2014年の公開後まもなくコンテナ運用の標準として広がりました。2015年に発足したCNCFへ最初のプロジェクトとして移管され、以後はベンダー中立で開発が続いています。
本体だけでなく、周辺のエコシステムが充実しているのもKubernetesの強みです。たとえばRed HatのOpenShiftは、Kubernetesに開発者向けの機能やセキュリティ設定を加えた商用ディストリビューションで、企業導入で広く使われています。ほかにも設定を束ねるHelm、GitOpsを実現するArgo CD、サービス間通信を制御するIstioなど、目的別に選べるツールは豊富です。クラスタへ入るリソースの設定自体にルールを課す領域では、Kyvernoとは?Kubernetesのポリシー適用の仕組みとCEL移行を解説で扱うポリシーエンジンも選択肢になります。
なお、Kubernetes本体は公式のリリースサイクル上おおむね年3回のペースで新バージョンがリリースされ、1.19以降の各マイナーバージョンには1年のパッチサポートが付きます。2026年10月時点の最新は1.37系(1.37.1、2026年9月15日公開)で、EOLは2027年10月28日とされています。機能の追加・非推奨化が活発に進むため、学習や導入の際は入門知識を土台にしつつ、バージョン依存の仕様や最新機能・サポート期限は必ず公式ドキュメントで確認してください。過去の変更点はKubernetesの新バージョンの新機能・変更点とEOL解説にまとめています。
よくある質問
Kubernetesのメリットとデメリットを一言でいうと?
メリットは、配置・復旧・増減・更新といった運用作業を宣言で自動化し、障害時も自動で元の状態へ戻せる点です。デメリットは、学習コストとクラスタ自体の運用、管理料金やバージョン追随の手間が増える点にあります。サービス数とリリース頻度が多く、運用担当を置ける組織ほどメリットが上回ります。
Kubernetesの読み方は?
「クーベネティス」「クバネティス」「クーバネティス」などと読みます。公式に唯一の読み方は定められていません。略称のK8sは「ケーエイツ」と読みます。
なぜK8sと略すのですか?
「Kubernetes」の先頭Kと末尾sの間に8文字(ubernete)あることから、その8文字を「8」に置き換えてK8sと表記します。長い単語を数字で縮める略記法(numeronym)の一種です。
Pod(ポッド)とは何ですか?
Podは、1つ以上のコンテナをまとめたKubernetes最小のデプロイ単位です。Kubernetesではコンテナを単体ではなくPodという単位で扱い、同じPod内のコンテナはネットワークやストレージを共有できます。そのPodが動くサーバーがNode(ノード)、Nodeを複数まとめた全体がCluster(クラスタ)です。
KubernetesとDockerはどちらを使えばよいですか?
役割が違うため、基本的には組み合わせて使います。コンテナを作って動かすのがDocker、それを大量にまとめて管理するのがKubernetesです。小規模ならDocker単体やDocker Composeで十分なこともあります。
初心者は何から学べばよいですか?
まずコンテナとDockerの基礎を理解し、次にPod・Node・クラスタといったKubernetesの用語を押さえます。実際に動かす際は、まずminikubeやkindでローカルのクラスタを作り、慣れてきたらGKE・AKS・EKSなどのマネージドサービスに進むと挫折しにくいです。
Kubernetesは無料で使えますか?
Kubernetes本体はオープンソースで無料です。ただしクラスタを動かすサーバー費用は別途かかり、マネージドサービスではクラスタ管理料金も加わります。EKSとGKEはいずれも1クラスタあたり1時間0.10ドルからで(2026年10月時点)、GKEには月74.40ドル分の無料枠があります。最新の料金は各サービスの公式情報を確認してください。
関連記事
- Kubernetesの最新バージョンは1.37|確認方法・EOL一覧とアップグレード手順
- コンテナオーケストレーションとは?Kubernetesの役割と自社に必要かの判断を解説
- コンテナ技術とは何か:仮想化との違いや基本概念を解説
- Dockerの仕組みを原理から理解する|コンテナ隔離・VMとの違い
- Amazon EKSとは?仕組み・ノード提供形態と料金モデル・ECSとの使い分けを実装者目線で解説
- Google Kubernetes Engine(GKE)とは?Autopilot/Standardの違い・料金モデルとEKSとの使い分けを実装者目線で解説
- AKS(Azure Kubernetes Service)とは|できること・料金・始め方
- Kubernetes APIとは|仕組み・リソース・CRD拡張を実例で解説
- Kubernetesの新バージョンの新機能・変更点とEOL解説
- Kubernetes AI Conformanceとは?CNCF認証の要件と自社基盤への採用判断