概要
kind v0.31.0(2025-12-18 リリース)は、デフォルトの Kubernetes バージョン(ノードイメージ)を v1.35.0 に更新し、Kubernetes 1.35 の挙動(特に cgroup v1 サポート削除)を kind 利用者が早めに踏めるようにしたリリースです。あわせて、将来の kubeadm 設定 API 移行(v1beta3 → v1beta4)に備える注意喚起も入っています。
変更内容(何が変わったか)
- デフォルトのノードイメージが
kindest/node:v1.35.0@sha256:452d…に更新- kind のデフォルト値(
Config.Image)がv1.34.3からv1.35.0へ変更されています。
- kind のデフォルト値(
- Kubernetes 1.35+ の cgroup v1 サポート削除により、対応する kind ノードイメージも cgroup v1 非対応へ
- kind リリースノートで、Kubernetes 1.35 の変更(cgroup v1 サポート削除)に合わせて、該当バージョンの kind ノードイメージもサポートを落とす旨が明記されています。
- 将来の kubeadm 設定 API
v1beta4採用に向けたガイダンス- kind は将来のリリースで
kubeadm v1beta4を採用予定(時期は未確定だがKubernetes 1.36+が目安、とリリースノートで説明)。 v1beta4ではextraArgsの扱いが破壊的に変わるため、kubeadmConfigPatches利用者は「バージョン付きパッチ」を推奨(例もリリースノートに掲載)。
- kind は将来のリリースで
- その他(本ノートの主題ではないがリリースノートに記載あり)
- IPv6 ホスト判定のエッジケース検出改善
- 開発/リリーススクリプトの
GOTOOLCHAIN対応(hack/build/setup-go.sh)
背景(なぜこの変更が必要か)
- cgroup v1
- Kubernetes v1.35 で「cgroup v1 上での実行サポートをしない」方向が明確化され、エコシステム側(kind のノードイメージ)も追従せざるを得ません。
- kubeadm 設定 API
- kubeadm の設定 API は
v1beta4でextraArgsが「map ではなく structured(name/value)形式」へ移行しており、既存の設定パッチが壊れる可能性があります。kind は将来これに追従するため、先に移行準備(パッチの二重化・明示的 apiVersion 指定)を促しています。
- kubeadm の設定 API は
影響(運用者/利用者/開発者への影響、注意点、移行)
- kind 利用者(ローカル開発/CI)
kind create clusterのデフォルトがv1.35.0になるため、cgroup v1 環境では v1.35 系ノードイメージで問題が出る可能性があります(Kubernetes 自体が 1.35 で cgroup v1 サポートを削除)。- 回避策(短期):kind リリースノートにあるように、必要なら 古い Kubernetes バージョンの kindest/node イメージを使う。
- 例:
kind create cluster --image kindest/node:v1.34.3@sha256:0849…
- 例:
- 推奨(中長期):cgroup v2 へ移行(kind 側も将来的に cgroup v1 ワークアラウンドやサポートを削除する方針が示されています)。
kubeadmConfigPatchesを使っている人- 将来の kind で
kubeadm v1beta4が採用されると、extraArgsの形式変更でパッチが壊れる可能性があります。 - kind リリースノートの推奨どおり、「
apiVersionを明示した v1beta3 用パッチ」と「v1beta4 用パッチ」を分けて持つのが無難です(v1beta4ではextraArgsが- name: ...のリスト形式)。
- 将来の kind で
用語メモ(用語の軽い説明)
- kind: Docker 等のコンテナ上に Kubernetes クラスタを作るツール(Kubernetes IN Docker)。
- kindest/node: kind が使う「Kubernetes ノード相当」のコンテナイメージ。
- cgroup v1 / v2: Linux のリソース管理機構。Kubernetes v1.35 では cgroup v1 上での実行サポートが削除される。
- kubeadm: Kubernetes クラスタ(特に control plane)をブートストラップするツール。
kubeadmConfigPatches: kind の設定で kubeadm 設定にパッチを当てる仕組み。extraArgs: kubeadm 設定で各コンポーネントに追加フラグを渡す項目。v1beta4で形式変更がある。
参考リンク
- https://lwkd.info/2025/20251218
- https://github.com/kubernetes-sigs/kind/releases/tag/v0.31.0
- https://github.com/kubernetes-sigs/kind/pull/4077
- https://github.com/kubernetes-sigs/kind/blob/v0.31.0/pkg/apis/config/defaults/image.go
- https://kubernetes.io/blog/2025/12/17/kubernetes-v1-35-release/#removal-of-cgroup-v1-support
- https://github.com/kubernetes-sigs/kind/issues/3847
- https://kubernetes.io/blog/2024/08/23/kubernetes-1-31-kubeadm-v1beta4/
- https://kubernetes.io/docs/reference/config-api/kubeadm-config.v1beta4/
- https://kind.sigs.k8s.io/docs/user/quick-start/#creating-a-cluster
- https://github.com/kubernetes-sigs/kind/pull/4038