Container Service for Kubernetes (ACK) は、認定Kubernetes適合プログラムの条項に厳密に準拠しています。 このトピックでは、更新ノート、主要な変更、新機能、非推奨の機能とAPI、機能ゲートなど、Kubernetes 1.31の更新について説明します。
コンポーネントのバージョン
Kubernetes 1.31は、次の主要なコンポーネントバージョンをサポートしています。
キーコンポーネント | バージョン |
Kubernetes | 1.31.1-aliyun.1 |
etcd | v3.5.15 |
containerd | 1.6.34 |
CoreDNS | v1.9.3.10-7dfca203-aliyun |
CSI | csi-pluginとcsi-provisionerを最新バージョンに更新します。 リリースノートの詳細については、「csi-plugin」および「csi-provisioner」をご参照ください。 |
CNI | フランネルv0.15.1.22-20a397e6-aliyun |
TerwayとTerwayControlplane 1.10.0以降 説明 デフォルトでは、Terwayをネットワークプラグインとして使用し、Kubernetes 1.31以降のバージョンを実行する、新しく作成されたACK管理クラスターに対してTrunk ENI機能が有効になっています。 |
機能
CustomResourceDefinition (CRD) の
caBundle
フィールドが空ではなく、無効であるか、CA証明書が含まれていない場合、CRDはサービスを提供しません。 CRDの中断のないサービスを維持するために、caBundle
フィールドを無効または空にする可能性のある更新は、有効なcaBundle
が確立されると禁止されます。MatchLabelKeysInPodAffinity機能ゲートはベータに達し、デフォルトで有効になっています。 アフィニティとアンチアフィニティのルールに違反するデプロイメントのローリング更新中のスケジューリングの問題を解決するには、スケジューラが古いポッドと新しいポッドを区別するために、
podAffinity
とpodAntiAffinity
で新しいフィールドmatchLabelKeysとmismatchLabelKeysを指定します。JobSuccessPolicy機能はベータに達し、デフォルトで有効になっています。 インデックス付きジョブの成功ポリシーを設定できます。 詳細については、「ジョブの成功ポリシー」をご参照ください。
DisableNodeKubeProxyVersionはベータに達し、デフォルトで有効になっています。
status.nodeInfo.kubeProxyVersion
フィールドにkube-proxyのバージョンが表示されなくなりました。 このフィールドに表示される値は正確ではなく、kube-proxyの実際のバージョンを提供することはできません。ServiceAccountTokenNodeBinding機能はベータに達し、デフォルトで有効になっています。 この機能を使用すると、ServiceAccountトークンをノードにバインドできます。 トークンが期限切れになるか、関連するノードまたはServiceAccountが削除されると、トークンは無効になります。
RecursiveReadOnlyMounts機能はベータに達し、デフォルトで有効になっています。 ポッドにマウントされたボリュームでは、マウントを再帰的に読み取り専用にすることができ、すべてのサブディレクトリとファイルが読み取り専用モードに設定されます。 詳細については、「再帰的読み取り専用マウント」をご参照ください。
ポッドの
spec
フィールドが変更されてもimage
フィールドの変更が含まれない場合、kubeletはコンテナーを再起動しません。 これにより、機能しない構成更新による不要なポッドの再起動が回避されます。HonorPVReclaimPolicyはベータに達し、デフォルトで有効になっています。 永続ボリューム (PV) にファイナライザーを追加して、関連するバッキングストレージが削除された後にのみ、
Delete
relaimポリシーを持つPVが削除されるようにすることができます。 詳細については、「PersistentVolume削除防止ファイナライザー」をご参照ください。kubectl debug
は、トラブルシューティングポッドのカスタムプロファイリングの構成をサポートします。 詳細については、「Kubernetes 1.31: Kubectl Debug Graduates to Beta」をご参照ください。デフォルトでは、
kubectl
などのKubernetesクライアントはストリーミングにWebSocketを使用します。kubectl cp
、kubectl attach
、kubectl exec
、およびkubectl port-forward
コマンドは、SPDYではなくWebSocketプロトコルを使用してストリーミングします。Kubernetes APIサーバーは、etcdからデータセット全体を取得するのではなく、キャッシュからの一貫した読み取りを実現できるため、Listリクエストの効率が向上します。 詳細については、「キャッシュからの一貫した読み取り」をご参照ください。
機能の変更
このリリースでは、組み込みの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プラグインをインストールして設定してください。
関連ドキュメント
Kubernetes 1.31のリリースノートの詳細については、「CHANGELOG-1.31」および「Kubernetes v1.31リリースノート」をご参照ください。