概要

kind v0.31.0(2025-12-18 リリース)は、デフォルトの Kubernetes バージョン(ノードイメージ)を v1.35.0 に更新し、Kubernetes 1.35 の挙動(特に cgroup v1 サポート削除)を kind 利用者が早めに踏めるようにしたリリースです。あわせて、将来の kubeadm 設定 API 移行(v1beta3v1beta4)に備える注意喚起も入っています。

変更内容(何が変わったか)

  • デフォルトのノードイメージが kindest/node:v1.35.0@sha256:452d… に更新
    • kind のデフォルト値(Config.Image)が v1.34.3 から v1.35.0 へ変更されています。
  • 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 利用者は「バージョン付きパッチ」を推奨(例もリリースノートに掲載)。
  • その他(本ノートの主題ではないがリリースノートに記載あり)
    • IPv6 ホスト判定のエッジケース検出改善
    • 開発/リリーススクリプトの GOTOOLCHAIN 対応(hack/build/setup-go.sh

背景(なぜこの変更が必要か)

  • cgroup v1
    • Kubernetes v1.35 で「cgroup v1 上での実行サポートをしない」方向が明確化され、エコシステム側(kind のノードイメージ)も追従せざるを得ません。
  • kubeadm 設定 API
    • kubeadm の設定 API は v1beta4extraArgs が「map ではなく structured(name/value)形式」へ移行しており、既存の設定パッチが壊れる可能性があります。kind は将来これに追従するため、先に移行準備(パッチの二重化・明示的 apiVersion 指定)を促しています。

影響(運用者/利用者/開発者への影響、注意点、移行)

  • 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: 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 で形式変更がある。

参考リンク