はじめに
このエントリは、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
にも適用されます。systemd
driverへの移行やcgroup
driverを利用し続けることに関する詳細は、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)