すべてのプロダクト
Search
ドキュメントセンター

Container Service for Kubernetes:Kubernetes 1.33 向け ACK リリースノート

最終更新日:Apr 26, 2026

Alibaba Cloud Container Service for Kubernetes は、Kubernetes 準拠認定を受けたプラットフォームです。このドキュメントでは、Kubernetes 1.33 の ACK リリースにおける主な変更点をハイライトし、アップグレードに関する注意事項、新機能、非推奨 API、およびフィーチャーゲートについて説明します。

コンポーネントのバージョン

次の表に、ACK で使用される主要コンポーネントのバージョンを示します。

主要コンポーネント

バージョン

Kubernetes

1.33.1-aliyun.1、1.33.3-aliyun.1

etcd

v3.5.21

containerd

2.1.6

CoreDNS

v1.11.3.5-5321daf49-aliyun

CSI

CNI

Flannel v0.15.1.22-20a397e6-aliyun

Terway および TerwayControlplane v1.14.0 以降

アップグレードに関する注意事項

クラスターをバージョン 1.33 にアップグレードする際、バージョン 1.20 以前で作成され、その後更新またはコンテナ再起動が一度も行われていない Pod は、1 回再起動されます。

主な変更点

機能の変更点

  • インプレース Pod サイズ変更 機能が Beta に昇格し、デフォルトで有効になりました。この機能により、Pod を再起動せずにコンテナの CPU およびメモリリソース構成を動的に変更できます。

  • これより、kubectl で --subresources オプションを使用して特定のサブリソースを調整できるようになりました。たとえば、kubectl edit pod <pod-name> --subresource resize を実行することで、Pod のリソースサイズを動的に調整できます。バージョン 1.33 でサポートされるサブリソースは、statusscale、および resize です。

  • EndpointSlices の TopologyAwareHints 機能が Generally Available (GA) になりました。Beta アノテーション service.kubernetes.io/topology-mode は非推奨となりました。トポロジーポリシーを定義するには、spec.trafficDistribution フィールドを使用することを推奨します。たとえば、trafficDistributionPreferClose に設定すると、トラフィックはクライアントと同じゾーン内のエンドポイントに優先的にルーティングされます。詳細については、「Traffic distribution」をご参照ください。

  • Pod の .status.resize フィールドは非推奨となり、設定できなくなりました。代わりに、2 つの新しい条件フィールドが追加されました。PodResizeInProgress および PodResizePending です。

  • DisableNodeKubeProxyVersion フィーチャーゲートがデフォルトで有効になり、無効化できなくなりました。kubelet はノード上で status.kubeProxyVersion フィールドを設定しなくなります。

  • StatefulSet の .spec.serviceName フィールドがオプションとなり、その検証が厳格化され、DNS-1123 標準への準拠が求められるようになりました。既存の StatefulSet の .spec.serviceName が検証に失敗した場合、このフィールドを手動で削除するまで新しい Pod を作成できません。この更新により、DNS 検証が Pod 作成フェーズから StatefulSet リソース構成フェーズに移行し、StatefulSet コントローラーによる失敗リトライが削減されます。

  • Git-Repo ボリュームプラグインはデフォルトで無効になりました。使用するには、GitRepoVolumeDriver フィーチャーゲートを有効にする必要があります。

  • バージョン 1.33.3-aliyun.1 は、CVE-2024-4563 を修正しています。

機能

  • サイドカーコンテナ が GA となり、デフォルトで有効になりました。サイドカーコンテナは特殊なタイプの Init コンテナであり、Pod のライフサイクル全体を通じて実行され、restartPolicy: Always を設定するとプローブをサポートします。

  • OrderedNamespaceDeletion 機能が Beta に昇格しました。この機能は名前空間リソースの削除プロセスを最適化します。具体的には、名前空間を削除する際に、まずワークロードの Pod を削除し、次に NetworkPolicy やストレージリソースなどの依存リソースを削除します。これにより、重要なセキュリティリソースが削除された後に Pod が孤立するのを防ぎます。

  • SupplementalGroupsPolicy 機能が Beta に昇格し、デフォルトで有効になりました。Pod の .spec.securityContext.supplementalGroupsPolicy フィールドを使用して、ボリュームのアクセス権限を詳細に制御できます。詳細については、「Configure fine-grained SupplementalGroups control for a Pod」をご参照ください。

  • MultiCIDRServiceAllocator 機能が GA となり、デフォルトで有効になりました。この機能により、サービスの ClusterIP 割り当てを記録するための ServiceCIDR および IPAddress リソースが導入されます。ServiceCIDR を使用して、割り当て可能な ClusterIP の範囲を動的に拡張できます。

  • JobBackoffLimitPerIndex 機能が GA となりました。これにより、インデックス付きジョブの各インデックスごとに Pod の最大再試行回数を指定できます。

  • JobSuccessPolicy 機能が GA となりました。これにより、ジョブのカスタム成功ポリシーを定義できます。たとえば、どのインデックスが成功する必要があるか、または成功するインデックスの数を指定することで、ジョブの完了を判断できます。詳細については、「Job's SuccessPolicy Goes GA」をご参照ください。

  • ImageVolume 機能が Beta に昇格しましたが、デフォルトでは無効です。API サーバーおよび kubelet 上でフィーチャーゲートを手動で有効にすることで、Pod が image ボリュームソースを使用できるようになります。これにより、コンテナイメージを読み取り専用ボリュームとしてマウントできます。

  • UserNamespacesSupport 機能が Beta に昇格し、デフォルトで有効になりました。これにより、Pod が Linux ユーザー名前空間を使用してコンテナのセキュリティを強化できます。この機能は既存の Pod には影響しません。使用するには、pod.spec.hostUsers を手動で指定する必要があります。詳細については、「User Namespaces enabled by default」をご参照ください。

  • RelaxedDNSSearchValidation 機能が Beta に昇格し、デフォルトで有効になりました。これにより、Pod の .spec.dnsConfig.searches フィールドに ._ などの特殊文字を使用できるようになり、DNS 構成の柔軟性が向上します。

  • kube-apiserver は、デフォルトで WatchList メカニズムを無効にし、代わりに StreamingCollectionEncodingToJSON および StreamingCollectionEncodingToProtobuf を含むストリーミングエンコーディングメカニズムを使用します。この変更により、大規模なリソースリストリクエストをストリーミングすることで List 操作のパフォーマンスが向上します。多くのリソースを含む List リクエストでは、メモリ使用量が大幅に削減され、システムの安定性が向上します。詳細については、「Streaming List responses」をご参照ください。

    kube-controller-manager は、WatchListClient 機能を積極的に有効にしなくなりました。

  • CPUManagerPolicyOptions 機能が GA となり、デフォルトで有効になりました。これにより、CPU マネージャーのリソース割り当てポリシーを詳細に調整できます。

  • MatchLabelKeysInPodAffinity 機能が GA となり、デフォルトで有効になりました。これにより、ポッドアフィニティルールに matchLabelKeys および mismatchLabelKeys フィールドが追加され、Pod の共同配置をより正確に制御できます。

  • NodeInclusionPolicyInPodTopologySpread 機能が GA となり、デフォルトで有効になりました。これにより、Pod トポロジースプレッド制約nodeAffinityPolicy および nodeTaintsPolicy を使用して、スケジュール可能なノードを動的にフィルターできます。

    • nodeAffinityPolicy:デフォルトは Honor です。Pod の nodeSelector または nodeAffinity に一致するノードのみがトポロジースプレッド計算で考慮されます。

    • nodeTaintsPolicy:デフォルトは Ignore です。nodeAffinity および nodeSelector ルールは無視され、すべてのノードがトポロジースプレッド計算で考慮されます。

  • HonorPVReclaimPolicy 機能が GA となり、デフォルトで有効になりました。これにより、PV の reclaimPolicyDelete に設定されている場合、PV または PVC の削除順序に関係なく、ポリシーに従って基盤となるストレージリソースが確実に削除されます。これにより、ストレージリソースのリークを防止できます。

  • ProcMountType 機能が Beta に昇格しました。Pod の securityContext.procMount フィールドを使用して、コンテナ内の /proc ファイルシステムのマウントタイプをカスタマイズできます。これにより、/proc へのアクセスを詳細に制御でき、Pod のセキュリティと隔離が向上します。この機能は、ユーザー名前空間内で特権なしコンテナを実行する際に役立ちます。/proc の制限を緩和することで、互換性と柔軟性が向上します。

  • PodLifecycleSleepActionAllowZero 機能が Beta に昇格しました。これにより、preStop ライフサイクルフック内の sleep 操作の待機時間を 0 に設定できるようになりました。

  • これより、ResourceQuota を使用して、特定の VolumeAttributesClass に関連付けられた PVC の数を制限できるようになりました。

  • スケジューラーのパフォーマンス最適化:

    • SchedulerPopFromBackoffQ 機能が追加され、デフォルトで有効になりました。activeQ が空の場合、バックオフキュー (backoffQ) から直接 Pod をポップできるようにすることで、スケジューリングキューのロジックを最適化します。これにより、Pod のスケジューリング遅延が大幅に削減されます。

    • SchedulerAsyncPreemption が Beta に昇格し、デフォルトで有効になりました。これにより、スケジューラーがプリエンプティブスケジューリングを非同期で実行できるようになります。プリエンプションは高コストな処理であるため、非同期で実行することでスケジューリング遅延を削減できます。

    • Pod トポロジースプレッド制約を使用する Pod のスケジューリングパフォーマンスが最適化されました。

非推奨 API

  • Kubernetes 1.33 ではデフォルトで containerd 2.1 が使用され、CRI v1alpha2 API はサポートされなくなりました。ワークロードがこの API バージョンに依存している場合は、互換性を確保するために CRI v1 API に切り替える必要があります。

  • Endpoints v1 API は正式に非推奨となりました。EndpointSlice API を使用することを推奨します。EndpointSlice API は Kubernetes 1.21 以降安定しており、デュアルスタックネットワークサポートなどの機能を導入しています。Endpoints v1 API は現時点では削除されません。詳細については、「Continuing the transition from Endpoints to EndpointSlices」をご参照ください。

  • apidiscovery.k8s.io/v2beta1 API グループは無効になりました。クライアントはこの API を使用してクラスター内の登録済み API リソースをすべて照会します。安定版の v2 バージョンへの移行を推奨します。古いクライアントはフォールバックメカニズムを使用して、サービス検出のために非集約化された v1 API を自動的に使用できるため、すぐにエラーが報告されることはありません。ただし、クライアントが v2 バージョンをサポートしていない場合、完全かつ非集約化されたデータを取得するために複数の API 呼び出しを行う必要があり、リクエスト数および遅延が増加する可能性があります。

参考資料

Kubernetes 1.33 の完全なチェンジログについては、「CHANGELOG-1.33」および「Kubernetes v1.33: Octarine」をご参照ください。