はじめに
このエントリは、Kubernetes 1.21 の CHANGELOG からアップグレード時に確認すべき内容をまとめています。
具体的には以下の項目を翻訳し、適宜補足やコメントを追加しています。
- Known Issues
- Urgent Upgrade Notes
このエントリでは翻訳部分と補足などの筆者の追加のコメントは
のあとに追加するようにしています。
Known Issues
TopologyAwareHints 機能はデフォルトの振る舞いへフォールバックする
FeatureGateは多くの場合デフォルトの振る舞いへフォールバックします。FeatureGateを有効にするとEndpointSlicesへヒントが追加されますが、機能的な違いが見られるのはデュアルスタックでないkube-proxyの実装でのみ見られます。この修正は将来のリリースで利用可能になります
Urgent Upgrade Notes
- kube-proxy の IPVS Proxy モードで、sysctl の
net.ipv4.conf.all.route_localnetを設定しなくなりました。アップグレードしたノードはnet.ipv4.conf.all.route_localnetが 1 に設定されていますが、新規ノードはシステムのデフォルト(通常 0)を継承します。kube-proxy は自動で設定しなくなるため、もしnet.ipv4.conf.all.route_localnetの設定に依存している場合は、自身で設定する必要があります。この変更は CVE-2020-8558 をさらに軽減します。 。(#92938, @lbernail) [SIG Network and Release] - kubeadm: "init"時に、 KubeletConfigurationにはcgroupDriverの値が空に設定されていましたが、明示的に指定しない限り常に"systemd"が設定されるようになりました。このため既存のマシンのセットアップでは"systemd"ドライバを使用するようにコンテナランタイムを構成する必要があります。このトピックに関するドキュメントはこちらを参照してください。
kubeadm upgradeを利用して既存のクラスタ/ノードをアップグレードする時、古いcgroupDriverの値が保持されますが、1.22ではこの変更がupgradeにも適用されます。systemddriverへの移行やcgroupdriverを利用し続けることに関する詳細は、https://kubernetes.io/docs/tasks/administer-cluster/kubeadm/configure-cgroup-driver/ を参照してください。(#99471, @neolit123) [SIG Cluster Lifecycle] - 新たにEBS PluginによりプロビジョニングされたPVは非推奨の
failure-domain.beta.kubernetes.io/zoneとfailure-domain.beta.kubernetes.io/regionラベルは利用されません。代わりにtopology.kubernetes.io/zoneとtopology.kubernetes.io/regionが利用されます。(#99130, @ayberk) [SIG Cloud Provider, Storage and Testing] - 新たにOpenStackによりプロビジョニングされたPVは非推奨の
failure-domain.beta.kubernetes.io/zoneとfailure-domain.beta.kubernetes.io/regionラベルは利用されません。代わりにtopology.kubernetes.io/zoneとtopology.kubernetes.io/regionが利用されます。(#99719, @jsafrane) [SIG Cloud Provider and Storage] - gce-pdによりプロビジョニングされたPVはベータのFailureDomainラベルをりようしません。代わりにGAのトポロジーラベルが利用されます。(#98700, @Jiawei0227) [SIG Cloud Provider, Storage and Testing]
- OpenStack Cinder CSIの移行はデフォルトで実行され、Cinder Volume driverが動作するにはCinder CSI driverがOpenStackのクラスタ上へインストールされている必要があります。(#98538, @dims) [SIG Storage]
- alphaの
CSIMigrationXXCompleteフラグは削除され、alphaのInTreePluginXXUnregisterフラグが追加されました。CSIMigrationvSphereCompleteフラグはv1.22で削除予定です。(#98243, @Jiawei0227) -
storage_operation_status_countメトリクスがすでに存在するため、storage_operation_errors_totalメトリクスを削除しました。新たにstatusフィールドがstorage_operation_duration_secondsへ追加され、全てのストレージオペレーションのステータスに対してレイテンシーを知ることができるようになりました。(#98332, @JornShen) [SIG Instrumentation and Storage] -
ServiceNodeExclusion,NodeDisruptionExclusionそしてLegacyNodeRoleBehavior機能がGAへとなりました。ServiceNodeExclusionとNodeDisruptionExclusionは現在無条件に有効となり、一方でLegacyNodeRoleBehaviorは無条件に無効となりました。コントロールプレーンノードが自動的にロードバランサーに追加されないようにするには、ユーザがnode.kubernetes.io/exclude-from-external-load-balancersラベルをコントロールプレーンのノードへ追加する必要があります。(#97543, @pacoxu)