LoginSignup
8
3

More than 1 year has passed since last update.

Kubernetes 1.23: 変更点まとめ(What's new!)とアップグレード時の注意事項

Last updated at Posted at 2022-01-06

はじめに

このエントリは、Kubernetes 1.23 の CHANGELOG からWhat's new!とアップグレード時の注意事項、各変更点についてまとめたページへのリンクです。
詳細については各まとめページを参照してください。

変更点の詳細へのリンク

What's new!

Deprecation of FlexVolume

FlexVolumeが非推奨となりました。Out-of-treeのCSI DriverがKubernetesでVolume Driverを書くための推奨の方法です。詳細はこちらのドキュメントをご参照ください。FlexVolumeドライバのメンテナはCSI Driverを実装し、FlexVolumeのユーザはCSIへ移行すべきです。FlexVolumeを利用しているユーザはそれらのワークロードをCSI Driverへ移行してください。

Deprecation of klog specific flags

コードベースをシンプルにするために、いくつかのロギングフラグがKubernetes v1.23で非推奨とマークされました。それらを実装しているコードは将来のリリースで削除されるため、利用しているユーザは代替の解決方法で非推奨フラグを置き換え始める必要があります。

Software Supply Chain SLSA Level 1 Compliance in the Kubernetes Release Process

Kubernetesのリリースでは、リリースプロセスのステージングとリリースのフェーズを記述した証明ファイルが生成され、あるフェーズから次のフェーズに引き渡される際にアーティファクトが検証されるようになりました。この最後のピースにより、SLSA(Supply-chain Levels for Software Artifacts)セキュリティフレームワークのレベル1に準拠するために必要な作業が完了します。

IPv4/IPv6 Dual-stack Networking graduates to GA

IPv4/IPv6 デュアルスタックネットワーキング が GA (General Availability) となりました。1.21 から、Kubernetes クラスタはデュアルスタックネットワーキングのサポートがデフォルトで有効です。1.23 で、IPv6DualStack フィーチャーゲートは削除されました。デュアルスタックネットワーキングの使用は、必須ではありません。クラスタではデュアルスタックネットワークのサポートが有効になっていますが、Pod と Service のデフォルトは引き続きシングルスタックとなっています。
デュアルスタックネットワーキングを使用するには、ノードがルーティング可能なIPv4/IPv6ネットワークを持ち、デュアルスタックが利用可能なCNIネットワークプラグインを利用する必要があり、Podがdual-stackとなるように設定され、Serviceはそれらの.spec.ipFamilyPolicyフィールドでPreferDualStackもしくはRequireDualStackのどちらかが設定されている必要があります。

HorizontalPodAutoscaler v2 graduates to GA

HorizontalPodAutoscaler APIのVersion 2vが1.23リリースでstableとなりました。HorizontalPodAutoscaler autoscaling/v2beta2 APIは非推奨となり、代わりにautoscaling/v2 APIを利用してください。このリリースはv1のHorizontalPodAutoscaler APIを廃止しません。

Generic Ephemeral Volume feature graduates to GA

generic ephemeral volume機能はv1.23でGAとなりました。この機能はdynamic provisioningをサポートする全てのストレージドライバーをPodにVolumeのライフサイクルが紐づけられたephemeral volumeとして利用できます。全てのボリュームプロビジョニングのためのStorageClassパラメータとPersistentVolumeClaimでサポートされている全ての機能がサポートされています。

Skip Volume Ownership change graduates to GA

Podのためにボリュームのパーミッションとオーナーシップを変更するポリシーを設定するための機能がv1.23でGAとなりました。これにより、マウント時の再帰的なパーミッション変更をスキップすることができ、Podの起動時間を短縮することができます。

Allow CSI drivers to opt-in to volume ownership and permission change graduates to GA

CSIドライバがfsGroupのパーミッションを宣言できる機能が1.23にてGAとなりました。

PodSecurity graduates to Beta

PodSecurityがBetaとなりました。PodSecurityは廃止されるPodSecurityPopily admission controllerを置き換えます。PodSecurityはPod Security Standardをエンフォースレベルがセットするための特定のラベルがセットされたNamespace内のPodへ適用するadmission controllerです。v1.23でPodSecurity feature gateはデフォルトで有効化されます。

Container Runtime Interface (CRI) v1 is default

KubeletはCRI v1 APIをサポートし、プロジェクト全体でデフォルトとなります。コンテナランタイムが v1 API をサポートしていない場合、Kubernetes は v1alpha2 の実装にフォールバックします。v1 と v1alpha2 は実装に違いがないため、エンドユーザーによる中間的なアクションは必要ありません。v1を進展できるように将来のKubernetesリリースのいずれかでv1alpha2が削除される可能性があります。

Structured logging graduate to Beta

構造化ロギングがbetaとなりました。kubeletやkube-schedulerからの多くのログが変換されました。ユーザーは、JSON出力や構造化テキスト形式の解析を試し、ログ値における複数行の文字列の処理など、未解決の問題に対する可能な解決策についてフィードバックができます。

Simplified Multi-point plugin configuration for scheduler

kube-schedulerは複数の拡張点(extension point)を持つPluginの設定を単純化するために新しい設定フィールドを追加しました。新しいmultiPointpluginフィールドは、管理者がschedulerをシンプルに設定できるようにすることを目的としています。
multiPointで有効化されたpluginは自動的にpluginが実装している拡張点をschedulerに登録します。たとえば、ScoreとFilterという拡張点を実装しているpluginは、双方同時にenabledできるようになります。これによって、拡張点を個別のenables/disabledを手動で編集せずに、全てのpluginをenabled/disbledすることができるようになります。これらの拡張点を個別に設定する方式は、ほとんどのユーザーにとって無関係であるため、抽象化されました。

CSI Migration updates

CSI Migrationは既存のin-treeのStorage Plugin(kubernetes.io/gce-pd or kubernetes.io/aws-ebsなど)を対応するCSIドライバへ置き換えるものです。CSI Migrationが正しく動作していれば、Kubernetesのエンドユーザは、違いに気が付かないはずです。移行後、Kubernetesのユーザは、既存のインターフェースを利用して、in-treeのStorage Pluginの全ての機能を継続し利用できます。

  • CSI Migration機能がデフォルトでオンになりますが、1.23ではGCE PD, AWS EBS, Azure DiskはBetaのままです。
  • 1.23ではCeph RBD, PortworxのCSI Migration機能はAlphaです。

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

  • kubeadm: init|join|upgradeコマンドにおける非推奨の--experimental-patchesを削除しました。--patchesフラグは--configフラグと共に利用することはできません。ノードにパッチを適用するkubeadmの設定には、{Init|Join}Configuration.patchesを利用してください。(#104065, @pacoxu)
  • JSONフォーマットのログメッセージはstdoutの代わりにデフォルトでstderrへ出力されるようになりました。stdoutで出力されたJSON出力を期待していたユーザはstdoutに加えてstderrもキャプチャーする必要があります。(#106146, @pohly) [SIG API Machinery, Architecture, Cluster Lifecycle and Instrumentation]
  • seccompのためのアノーテーションであるseccomp.security.alpha.kubernetes.io/podcontainer.seccomp.security.alpha.kubernetes.io/[name]はv1.19以降非推奨となっており、v1.25で削除予定です。seccompProfile APIフィールドを利用するようにしてください。(#104389, @saschagrunert)
  • kube-log-runnerはtar ballのリリースに追加されました。これは非推奨となった--log-fileパラメータを置き換えるために利用できます。(#106123, @pohly) [SIG API Machinery, Architecture, Cloud Provider, Cluster Lifecycle and Instrumentation]
8
3
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
8
3