はじめに

本書「Kubernetes入門:PodからIngressまで(基礎と実践)」は、アプリケーションを Kubernetes に載せるために必要となる最小限の概念と、代表的なリソース(Pod / Deployment / Service / Ingress)を中心に、実務で再利用できる形で整理します。

本書の目的

  • Kubernetes の宣言的管理と主要リソースの役割を理解する
  • 最小構成のマニフェストを読み書きし、ローカルクラスタで動作確認できる
  • 設計判断(ラベル設計、Probe、ロールアウト等)の論点を説明できる

扱う範囲 / 扱わない範囲

扱う範囲

  • kubectl の基本操作
  • YAML と metadata 設計(Label/Selector/Namespace)
  • Pod 設計(Probe/Resources の入口)
  • Deployment のロールアウト
  • Service と名前解決
  • Ingress の基本(Ingress Controller 前提、TLS は入口)

扱わない範囲

前提知識・準備

  • Linux の基本操作(シェル、ファイル、ネットワークの基礎)
  • HTTP の基本(ポート、ホスト名、TLS の概要)
  • (推奨)コンテナの概念(イメージ/コンテナ、ポート、ボリューム)

学習環境(動作確認)

本書のコマンド例は、以下の構成で動作確認します。

  • Kubernetes: v1.35 系(動作確認: v1.35.1)
  • kubectl: v1.35 系
  • ローカルクラスタ: kind v0.31.0
  • Ingress Controller: ingress-nginx controller-v1.14.3(retired済み・historical lab-only)

重要:ingress-nginx v1.14.3 の位置づけ

この版は再現性を確認するために残す歴史的な学習用(historical lab-only)ハンズオンです。Kubernetes 公式発表のとおり、Ingress NGINX は 2026年3月に retired となり、その後はリリース、bugfix、セキュリティ修正が提供されません。既存の成果物が取得できても、本番利用は推奨しません

新規の学習・本番設計では Gateway API を現行経路の出発点とし、選定する保守中の implementation について、公式 implementation 一覧公式 conformance で対象 bundle、profile、Route 種別、conformance report、保守状況を確認してください。本書は特定製品を推奨しません。

2026-05-23(Asia/Tokyo)時点の公式リリース確認:

  • Kubernetes の最新系列は v1.36 系(最新パッチは v1.36.1)です。
  • Kubernetes プロジェクトが保守する直近 3 minor は v1.36 / v1.35 / v1.34 です。
  • 本書の v1.35 系ハンズオンはサポート対象系列内ですが、手元のクラスタや管理サービスでは API server、kubectl、kubelet の version skew policy を確認してください。

補足:

  • Kubernetes / kind のバージョンは変動します。差分がある場合は公式ドキュメントで要確認です。ingress-nginx v1.14.3 は上記の歴史的 lab 用に限定します。
  • kind 以外(minikube など)でも実行できますが、Storage/Ingress など一部の章では差分が出ます。
  • 本書の YAML は可能な限り基本 API に寄せ、特定ベンダ固有の拡張は扱いません。

参照方針

  • 一次情報は Kubernetes 公式ドキュメントを優先します。
  • 外部記事は背景理解の補助として最小限に留めます(リンク切れリスクの低減)。

表記ルール

  • コマンド例は bash を前提とし、<...> はプレースホルダを表します。
  • YAML は原則として 2 スペースインデントで記載します。
  • 本書内リンクは chapters/.../ の相対パス(ディレクトリ形式)を前提に記載します(先頭 / の絶対パスは避けます)。

例題(共通ハンズオン)の命名規則

本書のハンズオンでは、原則として以下を使用します(章の目的により例外あり)。

  • Namespace: demo
  • Workload 名: web
  • Service 名: web
  • 共通ラベル(例):
    • app.kubernetes.io/name: web
    • app.kubernetes.io/instance: demo

読み方ガイド

  • コンテナに不慣れな場合は、第0章→第1章→第2章→第3章→第4章→第5章→第6章→第7章の順に進めてください(既にコンテナを扱える場合は第0章はスキップ可)。
  • 既に kubectl を扱える場合は、第3章(metadata 設計)から読み始めても問題ありません。
  • まず動かすことを優先する場合は、第2章→第5章→第6章→第7章を先行し、必要に応じて概念章へ戻ってください。

ハンズオン(環境チェック)

kubectl version --client
kind version
kubectl config current-context

フィードバック

次に読む