1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Kubernetes 1.32: SIG Cluster Lifecycle の変更内容

Last updated at Posted at 2025-01-14

Kubernetes 1.32 の CHANGELOG から SIG Cluster Lifecycle の取り組みについてまとめました。

:tada: ピックアップ :tada:

  • なし!

:warning: アップグレード時の注意事項

  • kubeadm に関連する注意事項は特になし

:dizzy: 項目ごとの変更

:do_not_litter: 非推奨

  • kubeadm に関連する注意事項は特になし

:construction_site: APIの変更

  • kubeadm に関連する注意事項は特になし

:unicorn: 機能

  • kubeadm upgrade apply がサブコマンドをサポートしました。phase サブコマンドを使うことで kubeadm upgrade apply phase <phase-name> のように特定のフェーズを実行することができます。また、kubeadm upgrade apply --skip-phases <phase-names> を使うことで特定のフェーズをスキップすることもできるようになりました。(#126032, @SataQiu) [SIG Cluster Lifecycle]

以下が実行可能なフェーズです。

Available Commands:
  addon           Upgrade the default kubeadm addons
  bootstrap-token Configures bootstrap token and cluster-info RBAC rules
  control-plane   Upgrade the control plane
  kubelet-config  Upgrade the kubelet configuration for this node
  post-upgrade    Run post upgrade tasks
  preflight       Run preflight checks before upgrade
  upload-config   Upload the kubeadm and kubelet configurations to ConfigMaps

フェーズに etcd が無いように見えますが、control-plane のフラグに--etcd-upgrade があり、デフォルトで true になっているようです。

  • kubeadm upgrade nodeaddonpost-upgrade フェーズがサポートされました。kubeadm upgrade node phase addon を実行することでアドオンのアップグレードを行うことができます。また、kubeadm upgrade node --skip-phases addonを実行することでaddonのアップグレードをスキップすることができます。現在のところ post-upgrade フェーズは何も行わず、リリース特有のアップグレード後のタスクに利用されています。(#127242, @SataQiu) [SIG Cluster Lifecycle]

  • kubeadm: certificateValidityPeriodの値がcaCertificateValidityPeriod` の値よりも大きかった場合に警告が出るようになりました。(#126538, @SataQiu) [SIG Cluster Lifecycle]

  • kubeadm: NodeLocalCRISocket フィーチャーゲートを追加しました。このフィーチャーゲートが有効化されると、kubeadm は各ノードのkubelet 設定の containerRuntimeEndpoint フィールドをカスタマイズするために、/var/lib/kubelet/instance-config.yaml ファイルを生成します。また、Nodeオブジェクトにアノテーションとして同じCRIソケットを書き込むことはなくなります。(#128031, @HirazawaUi) [SIG Cluster Lifecycle]

Nodeのアノテーションに保存していた CRI ソケットの情報を /var/lib/kubelet/instance-config.yaml に書き出すことにしたようです。

  • kubeadm: kubeadm init phase addon のサブフェーズにおいて、--config フラグと特別なフラグ --print-manifest を混在して使用することが可能になりました。(#126740, @neolit123) [SIG Cluster Lifecycle]

  • kubeadm: フィーチャーゲート WaitForAllControlPlaneComponents が有効な場合、コントロールプレーンコンポーネントに対して --bind-address または --advertise-address--secure-port を考慮するようになりました。kube-apiserverkube-scheduler には /livez を使用しますが、kube-controller-manager/livez をサポートするまで引き続き /healthz を使用します。(#128474, @neolit123) [SIG Cluster Lifecycle]

kubeadm init の終了時に、すべてのコントロールプレーンコンポーネントを待つ際、今までは 127.0.0.1 を利用してステータスをチェックしていたようです。

  • kubeadm: kubeadm init phase のようなサブコマンドを必要とするコマンドに未知のサブコマンド名が渡された場合、エラーを返すようになりました。また、kubeadm init phase や他のサブコマンドを持つコマンドがサブコマンド名なしで呼び出された場合、利用可能なコマンドを表示し、併せてエラーを返すようになりました。(#127096, @neolit123) [SIG Cluster Lifecycle]

  • kubeadm: フィーチャーゲート EtcdLearnerModeGA に昇格しました。kubeadm によってデプロイされた etcdLearner モードは、デフォルトで有効になります。(#126374, @pacoxu) [SIG Cluster Lifecycle]

:bookmark: ドキュメント

  • kubeadm に関連する注意事項は特になし

:bug: バグ、もしくはリグレッション

  • kubeadm: kubeadm が管理する CoreDNSCorefile において、cache プラグインのパラメータとして disable successdisable denial が追加されました。これは、CoreDNS のキャッシュ更新中に矛盾する応答を防ぐためです。(#128359, @matteriben) [SIG Cluster Lifecycle]

.cluster.local に対して、キャッシングを無効にする設定を追加したようです。CoreDNS の cache プラグインは kubernetes プラグインより優先されるため古い情報を返してしまう問題があったようです。

  • kubeadm: アップグレードの事前チェックのための CreateJob から作成された Pod が、タイムアウト後に適切に終了されるようになりました。(#127333, @yuyabee) [SIG Cluster Lifecycle]

  • kubeadm: etcd メンバーを削除する際に、誤ったメンバーリストが表示される問題が修正されました。 (#127650, @SataQiu)

表示されるメンバーのリストは、特に何かに利用されているわけでは無いので問題は現状無いとのこと。

  • kubeadm: kubeadm join で新しいコントロールプレーンノードを追加する際、指定されたメンバーURLがすでにメンバーリストに存在しない場合にのみ etcd メンバーの追加が行われるようになりました。同様に、kubeadm reset の際も、etcd メンバーのIDが存在する場合にのみそのメンバーを削除するようになりました。(#127491, @SataQiu) [SIG Cluster Lifecycle]

:thought_balloon: その他(クリーンアップまたはフレーク)

  • kubeadm: v1.31以降、kubeadmcrictl に依存しなくなったため、crictl バイナリが存在しない場合に警告を表示しないようになりました。(#126596, @saschagrunert) [SIG Cluster Lifecycle]

  • kubeadm: initjoinupgradereset サブコマンド実行中のAPIクライアントのドライラン時の詳細度が増加しました。また、偽のcluster-info ConfigMap を利用することで、既存のクラスタがない場合でも kubeadm join のドライランを可能にしました。(#126776, @neolit123)

  • kubeadm: kubeadm が管理する PodSpec に書き込まれる追加の環境変数が、環境変数名によってアルファベット順に並べられるようになりました。 (#126743, @neolit123) [SIG Cluster Lifecycle]

  • kubeadm: init kubelet-finalize の非推奨のサブフェーズである experimental-cert-rotation が削除され、代わりに enable-client-cert-rotation が使用されるようになりました。 (#126913, @pacoxu) [SIG Cluster Lifecycle]

  • kubeadm: kubeadm の事前チェックから socatebtables が削除されました。(#127151, @saschagrunert) [SIG Cluster Lifecycle]

  • kubeadm: conntrack バイナリの存在を確認する事前チェックが削除されました。これは、バージョン1.32以降では conntrackkube-proxy の依存関係ではなくなったためです。 (#126953, @aroradaman)

上記の socatebtables はサポートされている Kubernetes では不要になったため、チェックが完全に削除されましたが、conntrack に関してはバージョン 1.32 未満の kube-proxy が必要としているためバージョンチェック後に事前チェックが実行されています。

  • kubeadm: kubeadm upgrade apply コマンドの非推奨で機能しないフラグ --feature-gates、および kubeadm upgrade diff コマンドの --api-server-manifest--controller-manager-manifest--scheduler-manifest フラグが削除されました。(#127123, @neolit123) [SIG Cluster Lifecycle]

  • kubeadm: 非推奨のフラグ --experimental-output が削除されました。代わりに同じ目的を果たす --output フラグを使用してください。影響を受けるコマンドは以下の通りです: kubeadm config images listkubeadm token listkubeadm upgrade plankubeadm certs check-expiration。(#126914, @carlory) [SIG Cluster Lifecycle]

  • kubeadm: kube-scheduler の静的 Pod が、起動プローブとリブネスプローブに /livez エンドポイントを、レディネスプローブに /readyz エンドポイントを使用するように変更されました。以前は、すべてのプローブに /healthz が使用されていましたが、このコンポーネントにおいてはこの動作は非推奨とされています。(#126945, @liangyuanpeng) [SIG Cluster Lifecycle] :pencil:

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?