Kubernetes 1.32 の SIG-Network の変更内容をまとめました。
過去の SIG-Network の変更内容
- Kubernetes 1.31: SIG-Network の変更内容
- Kubernetes 1.29: SIG-Network の変更内容
- Kubernetes 1.28: SIG-Network の変更内容
- Kubernetes 1.27: SIG-Network の変更内容
- Kubernetes 1.26: SIG-Network の変更内容
- Kubernetes 1.25: SIG-Network の変更内容
- Kubernetes 1.24: SIG-Network の変更内容
- Kubernetes 1.23: SIG-Network の変更内容
- Kubernetes 1.22: SIG-Network の変更内容
- Kubernetes 1.21: SIG-Network の変更内容
- Kubernetes 1.20: SIG-Network の変更内容
- Kubernetes 1.19: SIG-Network の変更内容
- Kubernetes 1.18: SIG-Network の変更内容
- Kubernetes 1.17: SIG-Network の変更内容
- Kubernetes 1.16: SIG-Network の変更内容
- Kubernetes 1.15: SIG-Network の変更内容
- Kubernetes 1.14: SIG-Network の変更内容
以下は、Kubernetes v1.32 の Changelog を和訳したものです。 の部分は筆者の補足になります。
Urgent Upgrade Notes
- なし
Changes by Kind
Deprecation
- なし
API Change
-
各割り当てられたデバイスの状態データを報告するために、ResourceClaim.Statusにドライバー所有のフィールドを追加しました。(#128240, @LionelJouin) [SIG API Machinery, Network, Node and Testing]
-
PodのSearch Domainに単一のドット . またはアンダースコア _ を含めることを許可します。(#127167, @adrianmoisey) [SIG Apps, Network and Testing]
- 不要なクラスタ内ドメインが不要なアプリケーションの不要なDNSルックアップを減らすのに便利そうです。
- v1.32時点ではalphaとなっており、デフォルトでfalseのFeatureです。
-
DRA: DeviceRequestAllocationResult構造体には現在「AdminAccess」フィールドがあり、割り当てを処理する際にはDeviceRequestフィールドの対応するフィールドの代わりにこれを使用する必要があります。デバイスが管理者アクセスのためだけに割り当てられている場合、元々の意図通りに通常の使用のために再度割り当てることができるようになりました。管理者アクセスを許可するには、バージョン1.32からDRAAdminAccessフィーチャーゲートを有効にする必要があります。(#127266, @pohly) [SIG API Machinery, Apps, Auth, Etcd, Network, Node, Scheduling and Testing]
-
kube-proxyは現在、Service/Endpointの変更をconntrackテーブルと調整し、古くなったUDPフローエントリのみをクリーンアップします。(#127318, @aroradaman)
Feature
- kube-apiserverエンドポイントに/statuszエンドポイントを追加しました。(#125577, @richabanker) [SIG API Machinery, Apps, Architecture, Auth, CLI, Cloud Provider, Instrumentation, Network, Node and Testing]
- DRAノード操作およびDRA GRPC呼び出しの遅延を測定するためのメトリクスを追加しました。(#127146, @bart0sh) [SIG Instrumentation, Network, Node, and Testing]
- kube-proxyは、ヘッドレスサービスの監視を避けるために、Servicesに対してフィールドセレクターclusterIP!=Noneを使用し、不必要なネットワーク帯域幅を削減します。(#126769, @Sakuralbj) [SIG Network]
- LoadBalancerIPMode機能がGAとしてマークされました。(#127348, @RyanAoh) [SIG Apps, Network and Testing]
- カーネルバージョンが4.15以上の場合、Podはデフォルトでnet.ipv4.tcp_rmemおよびnet.ipv4.tcp_wmemのsysctlを使用できるようになりました。カーネル4.15では、このsysctlが名前空間化されました。Podセキュリティアドミッションは、v1.32以降のベースラインおよび制限付きポリシーのバージョンでこれらのsysctlを許可しました。(#127489, @pacoxu) [SIG Auth, Network and Node]
Documentation
- kubeletは、--cloud-provider=externalを使用する際に、--node-ipフラグを未指定アドレスの0.0.0.0または::のいずれかで使用することができます。これにより、対応するIPファミリーのデフォルトゲートウェイのIPでノードを作成し、その後、責任を外部クラウドプロバイダーに委ねます。これにより、クラスター内でPodとしてデプロイされる外部クラウドプロバイダーのブートストラップの問題が解決されます。 (#125337, @aojea) [SIG Cloud Provider, Network, Node and Testing]
Failing Test
- なし
Bug or Regression
- Apiserver repaier controllerは、ブートストラップ中のetcdエラーに対して回復力があり、失敗する前に30秒間再試行します。(#126671, @fusida) [SIG Network]
- kube-controller-managerのservice-lb-controllerループをクラッシュさせる可能性のある1.31のリグレッションを修正しました。(#128182, @carlory) [SIG API Machinery, Cloud Provider and Network]
- endpoints controllerのバグを修正しました。このバグは、Endpointオブジェクトが切り捨てられた後(1000以上のエンドポイントアドレスを受け取ったとき)にreconcileに失敗していました。(#127417, @aojea) [SIG API Machinery, Cloud Provider and Network]
- ノードが削除される前にpodCIDRが解放されるバグを修正しました。(#128305, @adrianmoisey) [SIG Apps and Network]
-
先にpodCIDRが解放されていたため、タイミングによっては新規作成されたノードと削除中のノードでPodCIDRが重複する問題がありました。
- flannelなどnodeに割り当てられたpodCIDRを利用する場合、これが問題になっていたようです
-
先にpodCIDRが解放されていたため、タイミングによっては新規作成されたノードと削除中のノードでPodCIDRが重複する問題がありました。
- ベータ機能であるMultiCIDRServiceAllocatorを使用するデュアルスタッククラスターで、デュアルスタックサービスやセカンダリ範囲のIPを持つサービスを作成できないバグを修正しました。バージョン1.30でこの機能をデュアルスタッククラスターで使用したいユーザーは、feature gateの
DisableAllocatorDualWrite
をtrue
に設定することでこの問題を回避することができました。(#127598, @aojea) - kube-proxyの初期化における競合状態を修正しました。この競合状態は、サービスVIPへのUDPトラフィックに問題を引き起こす可能性がありました。(#126532, @wedaly)
- いくつかのinformerのcache syncをまたずに処理を進めていたため、オブジェクトが多いとsyncされていないオブジェクトが存在しない判断となり、kube-proxyのrestartなどで必要なUDPのconntrackが削除されてしまう問題があったようです。
- v1.29で導入されたリグレッションを修正しました。このリグレッションでは、削除されたPodへのUDP接続のconntrackエントリが正しくクリーンアップされず、DNS Podが再起動されたときにDNSの問題を引き起こす可能性がありました。(#127780, @danwinship)
- HostNetwork Podは、Podに定義されたhostAliasesを設定するために、PodIPsの割り当てに依存しなくなりました。(#126460, @aojea) [SIG Network, Node and Testing]
-
Podの
/etc/hosts
の設定にはPodIPの割り当てが条件となっていましたが、hostNetworkを利用する場合はその条件が不要となりました。
-
Podの
- サイドカーコンテナで指定された名前付きポートが利用できない問題を修正しました。(#127976, @chengjoey)
- この修正は完全ではなく、EndpointSliceオブジェクトへPort番号を伝播されておらず、こちらのPRで修正されそうです。
- この修正はバックポートされないかもしれません
- kubelet: Windows上で、ドライブ文字に不一致に正規化するのではなく、ファイルシステムリンクを一貫してボリューム識別子に解決するようにしました。(#129103, @liggitt) [SIG API Machinery, Architecture, Auth, CLI, Cloud Provider, Cluster Lifecycle, Instrumentation, Network, Node, Release, Storage and Windows]
Other (Cleanup or Flake)
- k8s.io/cloud-provider/serviceコントローラーのバグを修正しました。サービスが更新されると、event recorderが初期化される前に使用されていたため、パニックが発生する可能性がありました。バージョンv1.31.0のクラウドプロバイダーサービスコントローラーを使用しているすべてのCloud Providerは、Informerがイベントを処理し始める前にコントローラーが初期化されることを確認するか、バージョン1.32.0に更新する必要があります。(#128179, @carlory) [SIG API Machinery, Cloud Provider, Network and Testing]
- kube-proxyの初期化は、nodeとserviceCIDR informerからのすべてのpre-syncイベントが配信されるのを待ちます。(#126561, @wedaly) [SIG Network]
- #126532の対応の追加です。
- kube-proxyは、古いUDP接続のクリーンアップにconntrackバイナリを依存しなくなります。 (#126847, @aroradaman) [SIG Cluster Lifecycle, Network and Testing]
- これによりkube-proxy コンテナイメージのサイズ削減が見込めます。共通ベースイメージから削除する必要があるため、現在はまだ削除されていません。
- GAとなっているFeature Gateの
StableLoadBalancerNodeSet
を削除しました。 (#126841, @carlory) [SIG API Machinery, Cloud Provider and Network] - 以前に非推奨となっていたkube-proxyのコマンドラインフラグ
--healthz-port
および--metrics-port
が削除されました。(#126889, @aroradaman) [SIG Network and Windows] - 以前に非推奨となっていたkube-proxyのコマンドラインフラグ
--healthz-port
および--metrics-port
が削除されました。(#127930, @aroradaman) [SIG Network and Windows]- 一つ前の#126889で問題があり、そちらがrevertされたため、その対処を含めたPRです。
- kubelet: バージョン1.32.0のrelease candidateにおいて、WindowsノードでCSIボリュームをマウントする際の問題を修正しました。(#129083 liggitt)