Kubernetes 1.28 の CHANGELOG から SIG Cluster Lifecycle の取り組みについてにピックアップしました。
重大なアップグレードに関する警告 (Urgent Upgrade Notes)
- None
種類別の変更 (Changes by Kind)
廃止予定 (Deprecation)
- None
APIの変更 (API Change)
- None
Feature
-
kubeadm: 設定ファイルの妥当性を検証するためのコマンドである、
kubeadm config validate
が追加されました。--config
フラグを使って対象の設定ファイルを指定してください。また、--help
フラグで追加の情報を知ることができます。この新しいコマンドを追加した結果として、既存のkubeadm config migrate
コマンドの検証機能が強化されました。migrate
およびvalidate
両方のコマンドで、未知のAPIやフィールドはエラーを投げます。 (#118013, @neolit123) -
kubeadm:
kubeadm config migrate/validate
コマンドに--allow-experimental-api
フラグが追加されました。このフラグは、将来的にWIP、または実験的なAPIをmigrate
またはvalidate
する際に使用できます。 (#118866, @neolit123) -
kubeadm: 時刻同期がされていない場合のワークアラウンドとして、現在のシステム時間に対して過去に5分オフセットした開始時間でCA証明書を生成します。 (#118922, @champtar)
- 起動してきたばかりのマシンで、まだ時刻同期がされていない場合を想定しているようです。
Documentation
- None
Failing Test
- None
Bug or Regression
-
kubeadm reset
がremove-etcd-member
フェーズで削除するピアに対応するetcdメンバーIDを見つけられない場合、最大3分間リトライするのではなく、すぐに他のフェーズに進みます。 (#117724, @dlipovetsky) -
kubeadm:
kubeadm
の設定ファイルでignorePreflightErrors
フィールドをall
に設定できないという制限が解除されました。 (#119351, @SataQiu) -
kubeadmのログメッセージで、etcdメンバーIDの先頭のゼロを削除しました。 (#117919, @dlipovetsky)
-
etcd のメンバーIDを
%016x
で出力していたところを、strconv.FormatUint(id, 16)
を利用して出力するように変更したようです。
-
etcd のメンバーIDを
-
kubeadm: kubeletとの整合性が取れていないStatic Podの変更検出ロジックのバグを修正しました。 (#118069, @SataQiu)
- Static Podのマニフェストの比較の際、フィールドの定義順が異なっていても内容が同じならば「同じ」と検出しなければいけなかったようです。
-
kubeadm:
crictl pull
時にイメージサービスのエンドポイントの指定に-i
を使い設定するようにしました。 (#117835, @pacoxu) -
kubeadm: アップグレード時に、Windowsプラットフォームでバックアップのためのファイルコピーが正しくされていなかった問題を修正しました。 (#117861, @SataQiu)
-
kubeadm: 初期化を0秒または20秒高速化しました。
kubelet-start
フェーズは現在、etcdとコントロールプレーンのフェーズの後になります。これにより、kubelet
が静的ポッドのマニフェストを探す動作と、kubeadm
がそれらを書き込む動作の間のレースコンディションが解消されました。 (#117984, @champtar) -
kubeadm: 非推奨のFeature Gateに対して、エラーではなくワーニングを投げるようにしました。 (#118270, @pacoxu)
Other (Cleanup or Flake)
-
kubeadm:
kube-proxy
のバージョン非整合ポリシーの不整合を修正するために、新しいフィーチャーゲートUpgradeAddonsBeforeControlPlane
を導入しました。デフォルト値はfalse
です。このフィーチャーゲートがtrue
に設定されていない限り、CoreDNS
とkube-proxy
のアドオンのアップグレードは、すべてのコントロールプレーンのインスタンスがアップグレードされた後にトリガーされます。このフィーチャーゲートは、将来のリリースで削除される予定です。 (#117660, @pacoxu)- kube-proxy のバージョン非整合ポリシー によると、kube-proxy は kube-apiserver のバージョンよりも新しくてはいけないそうです。