Container Service for Kubernetes (ACK) は、Certified Kubernetes Conformance Program の条件を厳守しています。このトピックでは、Kubernetes 1.31 の更新内容について説明します。更新ノート、主な変更点、新機能、非推奨の機能と API、および機能ゲートが含まれます。
コンポーネントバージョン
Kubernetes 1.31 は、以下の主要コンポーネントバージョンをサポートしています。
主要コンポーネント | バージョン |
Kubernetes | 1.31.9-aliyun.1 および 1.31.1-aliyun.1 |
etcd | v3.5.15 |
containerd | 1.6.34 |
CoreDNS | v1.11.3.2-f57ea7ed6-aliyun |
CSI | csi-plugin および csi-provisioner を最新バージョンに更新します。リリースノートの詳細については、「csi-plugin」および「csi-provisioner」をご参照ください。 |
CNI | Flannel v0.15.1.22-20a397e6-aliyun |
Terway および TerwayControlplane 1.10.0 以降 説明 デフォルトでは、Kubernetes 1.31 以降のバージョンを実行し、Terway をネットワークプラグインとして使用する新規作成の ACK マネージドクラスター では、Trunk ENI 機能 が有効になっています。 |
機能
カスタムリソース定義 (CRD) の
caBundleフィールドが空ではないが無効であるか、CA 証明書が含まれていない場合、CRD はサービスを提供しません。CRD のサービスを中断しないように、有効なcaBundleが確立されると、caBundleフィールドが無効または空になる可能性のある更新は禁止されます。MatchLabelKeysInPodAffinity 機能ゲートはベータ版に到達し、デフォルトで有効になっています。affinity および anti-affinity ルールに違反するデプロイメントのローリングアップデート中のスケジューリングの問題を解決するために、スケジューラが古いポッドと新しいポッドを区別できるように、
podAffinityおよびpodAntiAffinityに新しいフィールド matchLabelKeys および mismatchLabelKeys を指定できます。JobSuccessPolicy 機能はベータ版に到達し、デフォルトで有効になっています。インデックス付きジョブの成功ポリシーを構成できます。詳細については、「ジョブの成功ポリシー」をご参照ください。
DisableNodeKubeProxyVersion はベータ版に到達し、デフォルトで有効になっています。
status.nodeInfo.kubeProxyVersionフィールドには、kube-proxy バージョンは表示されなくなりました。このフィールドに表示される値は正確ではなく、kube-proxy の実際のバージョンを提供することはできません。ServiceAccountTokenNodeBinding 機能はベータ版に到達し、デフォルトで有効になっています。この機能を使用すると、ServiceAccount トークンをノードにバインドできます。トークンの有効期限が切れた場合、または関連付けられているノードまたは ServiceAccount が削除された場合、トークンは無効になります。
RecursiveReadOnlyMounts 機能はベータ版に到達し、デフォルトで有効になっています。ポッドにマウントされたボリュームでマウントを読み取り専用にすることができ、すべてのサブディレクトリとファイルが読み取り専用モードに設定されます。詳細については、「再帰的な読み取り専用マウント」をご参照ください。
ポッドの
specフィールドが変更されてもimageフィールドの変更が含まれていない場合、kubelet はコンテナーを再起動しません。これにより、機能しない構成の更新による不要なポッドの再起動が回避されます。HonorPVReclaimPolicy はベータ版に到達し、デフォルトで有効になっています。
Delete再利用ポリシーを持つ永続ボリューム (PV) が関連するバッキングストレージが削除された後にのみ削除されるように、PV にファイナライザーを追加できます。詳細については、「永続ボリューム削除保護ファイナライザー」をご参照ください。kubectl debugは、ポッドのトラブルシューティングのためのカスタムプロファイリングの構成をサポートしています。詳細については、「Kubernetes 1.31: Kubectl Debug のカスタムプロファイリングがベータ版に移行」をご参照ください。デフォルトでは、
kubectlなどの Kubernetes クライアントは、ストリーミングに WebSocket を使用します。kubectl cp、kubectl attach、kubectl exec、およびkubectl port-forwardコマンドは、SPDY の代わりに WebSocket プロトコルを使用してストリーミングするようになりました。これは、より最新で柔軟なプロトコルです。Kubernetes API サーバー は、etcd からデータセット全体を取得する代わりに、キャッシュから一貫性のある読み取りを実現できるようになり、リストリクエストの効率が向上しました。詳細については、「キャッシュからの一貫性のある読み取り」をご参照ください。
機能の変更点
組み込みの CephFS ボリュームプラグイン
kubernetes.io/cephfsはこのリリースで削除され、代わりに CephFS CSI ドライバー が使用されます。CephFS ボリュームプラグインを使用している場合は、クラスターバージョンを 1.31 にアップグレードした後、新しいドライバーを使用するようにアプリケーションを再デプロイする必要があります。
組み込みの CephRBD ボリュームプラグイン
kubernetes.io/rbdは削除され、代わりに RBD CSI ドライバー が使用されます。CephRBD ボリュームプラグインを使用している場合は、クラスターバージョンを 1.31 にアップグレードした後、新しいドライバーを使用するようにアプリケーションを再デプロイする必要があります。
CSIMigrationPortworx 機能ゲートはデフォルトで有効になっています。レガシーの組み込み Portworx プラグインから Portworx CSI プラグインへのボリュームの移行がサポートされています。クラスターバージョンを 1.31 にアップグレードする前に、Portworx をストレージソリューションとして使用している場合は、対応する Portworx CSI プラグインをインストールして構成してください。
脆弱性 CVE-2025-0426 および 脆弱性 CVE-2024-9042 は、1.31.9-aliyun.1 で修正されています。
参照
Kubernetes 1.31 のリリースノートの詳細については、「CHANGELOG-1.31」および「Kubernetes v1.31 リリースノート」をご参照ください。