Container Service for Kubernetes (ACK) は、Certified Kubernetes Conformance Program の条件を厳守しています。このトピックでは、更新ノート、主な変更、新機能、非推奨の機能と API、および機能ゲートなど、Kubernetes 1.31 の更新について説明します。
コンポーネントバージョン
Alibaba Cloud Container Compute Service (ACS) によって、Kubernetes 1.28 をサポートするために、次の主要コンポーネントが更新および最適化されています。
コアコンポーネント | バージョン番号 |
Kubernetes | 1.31.1-aliyun.1 |
etcd | v3.5.4 |
containerd | 1.6.22 |
CoreDNS | v1.11.3.2-f57ea7ed6-aliyun |
CSI | 最新バージョンに更新されました。詳細については、managed-csiprovisioner をご参照ください。 |
機能
CustomResourceDefinition (CRD) で
caBundle
フィールドを指定したが、caBundle
フィールドの値が無効であるか、CA 証明書が指定されていない場合、CRD は有効になりません。caBundle
フィールドを有効な値に設定した後、フィールドを無効な値または空の文字列に設定するように CRD を更新することはできません。これにより、CRD のサービスが中断されないことが保証されます。MatchLabelKeysInPodAffinity 機能ゲートはベータ状態に達し、デフォルトで有効になっています。
Pod affinity
とpod anti-affinity
は、matchLabelKeys と mismatchLabelKeys をサポートして、Deployment のローリングアップデート中にスケジューラーが古い Pod と新しい Pod を区別できないという問題を解決します。この問題が発生すると、Pod アフィニティまたは Pod アンチ アフィニティルールに基づいて Pod のスケジュールが失敗します。JobSuccessPolicy 機能ゲートはベータ状態に達し、デフォルトで有効になっています。この機能ゲートを使用すると、Indexed ジョブの成功ポリシーを設定できます。詳細については、ジョブの成功ポリシー をご参照ください。
DisableNodeKubeProxyVersion 機能ゲートはベータ状態に達し、デフォルトで有効になっています。この機能ゲートを有効にすると、ノードの
status.nodeInfo.kubeProxyVersion
フィールドに kube-proxy バージョンが表示されなくなります。これは、このフィールドに表示されるバージョンが実際の kube-proxy バージョンではないためです。ServiceAccountTokenNodeBinding 機能ゲートはベータ状態に達し、デフォルトで有効になっています。ノードに直接バインドされた ServiceAccount トークンを作成できます。トークンの有効期限が切れたとき、関連付けられたノードが削除されたとき、または ServiceAccount が削除されたときに、トークンは無効になります。
RecursiveReadOnlyMounts 機能ゲートはベータ版になり、デフォルトで有効になっています。Pod にマウントされたボリュームに再帰的な読み取り専用マウントを設定できます。このようにして、ボリュームとボリューム内のすべてのサブディレクトリとファイルは読み取り専用になります。詳細については、再帰的な読み取り専用マウント をご参照ください。
Pod の
spec
が変更されてもimage
フィールドが変更されていない場合、kubelet はコンテナーを再起動しません。これにより、機能構成以外の構成の更新による Pod の再起動が回避されます。HonorPVReclaimPolicy 機能ゲートはベータ状態に達します。
deletion
のマークが付けられた PV が、基盤となるストレージリソースが削除された後にのみ削除されるように、PV にファイナライザーを追加できます。詳細については、永続ボリューム削除保護ファイナライザー をご参照ください。kubectl debug
を使用すると、Pod をデバッグするためのプロファイルを構成できます。詳細については、Kubernetes 1.31: Kubectl Debug のカスタムプロファイリングがベータ版に移行 をご参照ください。kubectl
などの Kubernetes クライアントがkubectl cp
、kubectl attach
、kubectl exec
、kubectl port-forward
コマンドに使用するストリーミングプロトコルが、より柔軟な WebSocket に変更されました。API サーバー は、キャッシュに基づく一貫性のある読み取りをサポートしており、etcd に送信されるリクエストの数を減らし、LIST リクエストの処理効率を向上させます。詳細については、キャッシュからの一貫性のある読み取り をご参照ください。
機能の変更
組み込みの CephFS ボリュームプラグイン (
kubernetes.io/cephfs
) は、CephFS CSI ドライバー に置き換えられました。CephFS ボリュームプラグインを使用している場合は、クラスターを 1.31 に更新して CephFS CSI ドライバーを使用し、アプリケーションを再デプロイしてください。
組み込みの CephRBD ボリュームプラグイン
kubernetes.io/rbd
) は、RBD CSI ドライバー に置き換えられました。CephRBD ボリュームプラグインを使用している場合は、クラスターを 1.31 に更新して RBD CSI ドライバーを使用し、アプリケーションを再デプロイしてください。
CSIMigrationPortworx 機能ゲートはデフォルトで有効になっています。Portworx プラグインから Portworx CSI プラグインにボリュームを移行できます。クラスターで Portworx プラグインを使用している場合は、クラスターを 1.31 に更新する前に、Portworx CSI プラグインをインストールして構成してください。
参照
Kubernetes 1.31 リリースノートの詳細については、CHANGELOG-1.31 と Kubernetes v1.31: Elli をご参照ください。