Kubernetes v1.36:宣言的検証がGAへと進化 ノート

Kubernetes v1.36:宣言的検証がGAへと進化

Kubernetes v1.36 は、ネイティブ型向けの宣言的バリデーションを導入し、一般提供を開始しました。これにより、バリデーションルールの定義が手書きの Go コードから IDL タグへと移行し、API の信頼性と予測可能性が向上します。以前は手書きコードに依存していたため、技術的負債、不整合、不透明な API が生じていました。このソリューションは、タグを解析して Go のバリデーション関数を自動生成するコードジェネレーターである validation-gen を利用します。このフレームワークには、存在、制約、コレクション、ユニオン、不変性に関するさまざまなマーカータグが含まれています。主な利点は「アンビエントラチェッティング」であり、既存のオブジェクトを壊すことなく、バリデーションを即座に厳格化または緩和できます。宣言的バリデーションにより、kube-api-linter のようなツールを使用した API レビューが容易になり、一貫性が向上します。プロジェクトは、残りのレガシーコードの移行と、新しい API に対する宣言的バリデーションの義務化を計画しています。これにより、kubectl のようなツールによるクライアントサイドバリデーションや、Kubebuilder のようなツールとの統合など、将来的なエコシステムのメリットも解き放たれます。移行は進行中であり、Kubernetes コードベースへの貢献の機会があります。このドキュメントは、貢献者への謝辞で締めくくられ、Kubernetes バリデーションの宣言的な未来を歓迎しています。