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

Container Compute Service:Kubernetes 1.30 リリースノート

最終更新日:Jun 05, 2026

Alibaba Cloud Container Compute Service (ACS) は、Kubernetes に完全準拠したサービスです。このドキュメントでは、アップグレードに関する考慮事項、主な変更点、新機能、非推奨の機能と API、フィーチャーゲートなど、Kubernetes 1.30 の主要な変更点について説明します。

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

次の表に、ACS クラスターにおける主要コンポーネントのサポート対象バージョンを示します。

主要コンポーネント

バージョン

Kubernetes

1.30.1-aliyunacs.1

etcd

v3.5.9

containerd

1.6.28

CoreDNS

v1.9.3.10-7dfca203-aliyun

CSI

v1.30.1-98960d8-aliyun

CNI

Flannel v0.15.1.22-20a397e6-aliyun

Terway and TerwayControlplane v1.9.0 以降

説明

v1.30 以降、新規クラスターの NetworkPolicy は eBPF によって実装されます。クラスターまたはそのコンポーネントをアップグレードしても、既存の動作は変更されません。詳細については、「ACS クラスターでのネットワークポリシーの使用」をご参照ください。

新機能

Kubernetes 1.29

  • PreStop フックに sleep モードが導入され、コンテナが終了する前に指定された時間だけ一時停止します。この一時停止により、保留中の操作やネットワークリクエストが完了するための時間が確保されます。詳細については、「KEP-3960: PreStop フックのスリープアクションの導入」をご参照ください。

  • サイドカーコンテナは現在ベータ版であり、デフォルトで有効になっています。この機能を使用すると、init コンテナの restartPolicyAlways に設定できます。これにより、init コンテナはサイドカーコンテナとなり、メインアプリケーションコンテナや他の init コンテナに影響を与えることなく、独立して開始、停止、または再起動できるようになります。詳細については、「サイドカーコンテナ」をご参照ください。

  • 新しいリソースタイプ ServiceCIDR により、Service の ClusterIP 範囲を動的に設定できます。この機能はアルファ版であり、デフォルトでは無効です。Service で利用可能な IP 数を動的に拡張する方法の詳細については、「KEP-1880: 複数の Service CIDR」をご参照ください。

  • 当初、PVC (Persistent Volume Claim) とコンテナは、リソースの requestslimits を定義するために、同じ ResourceRequirements 構造体を使用していました。このため、たとえば claims フィールドが追加されるなどしてコンテナの resources 構造体が変更されるたびに、PVC API も変更されることになりました。そのため、PVC は、claims フィールドを含まず requestslimits のみを含む、独立した VolumeResourceRequirements 構造体を使用するように切り替えられました。詳細については、「ボリュームリソース要件」をご参照ください。

  • PodReadyToStartContainers 機能はベータ版であり、デフォルトで有効になっています。この機能は、ポッドのサンドボックスが作成され、そのネットワークが設定されたことを示します。この状態は、コンテナランタイムの準備が整っていることを意味するため、kubelet がポッドのステータスを判断するのに役立ちます。詳細については、「Pod のコンディション」をご参照ください。

  • PodAffinity および PodAntiAffinity で matchLabelKeysmismatchLabelKeys がサポートされるようになりました。これにより、Deployment のローリングアップデート中にスケジューラが古い Pod と新しい Pod を区別できず、アフィニティおよびアンチアフィニティの想定を満たさないスケジューリング結果につながるという問題が解決されます。PodAffinity に matchLabelKeys を設定すると、Deployment は ReplicaSet に pod-template-hash ラベルを追加します。これにより、Deployment の各 Pod に対応するハッシュ文字列が付与され、スケジューラが同じ pod-template-hash 値を持つ Pod のみを評価することで、同じアップデートバッチの Pod を簡単に区別できるようになります。詳細については、「KEP-3633」をご参照ください。

  • コア Kubernetes API リソースに加えて、ValidatingAdmissionPolicyの型チェックが、CRD (カスタムリソース定義) と API 拡張をサポートするようになりました。これにより、ポリシーの信頼性とクラスター設定の正確性が確保されます。詳細については、「型チェック」をご参照ください。

  • 新しいフィーチャーゲートUserNamespacesPodSecurityStandardsは、ユーザー名前空間を Pod Security Standards と統合します。有効にすると、コンテナは Pod のセキュリティコンテキスト内で非 root ユーザーまたは指定されたユーザー ID として実行できます。このフィーチャーゲートはアルファ版であり、デフォルトでは無効になっており、将来のリリースでも無効のままになる可能性があります。詳細については、「KEP-127: フィーチャーゲートに基づく PSS の更新」をご参照ください。

  • ノードオブジェクトの場合、新しい DisableNodeKubeProxyVersion 機能ゲートは status.nodeInfo.kubeProxyVersion フィールドを非推奨にします。これは、Kubernetes でノードの kubeProxyVersion フィールドの設定が無効になることを意味します。kubelet は kube-proxy のバージョンを常に正確に特定できるとは限らないため、このフィールドは常に正確であるとは限りません。この機能ゲートは現在アルファ段階にあり、デフォルトで無効 (false) になっています。

  • JobBackoffLimitPerIndexフィーチャーゲートはベータ版になり、デフォルトで有効になっています。この機能により、インデックス付き Job の各インデックスに対する最大リトライ回数を指定できます。インデックス付き Job の詳細については、「静的な作業割り当てによる並列処理のためのインデックス付き Job の使用」をご参照ください。

Kubernetes 1.30

  • ImageMaximumGCAge フィーチャーゲートにより、kubelet は未使用イメージがガベージコレクションされるまでの最大存続期間を設定できます。イメージがこの指定された存続期間を超えて未使用のままである場合、ガベージコレクションメカニズムがそのイメージをクリーンアップできます。デフォルト値は "0s" で、これは時間制限が設定されていないことを意味します。このフィーチャーゲートは v1.29 でアルファ版として導入され、v1.30 でベータ版に昇格しました。

  • Kubelet は、イメージのプル時間を追跡するために、新しい監視メトリック image_pull_duration_seconds を追加します。詳細については、「アルファ Kubernetes メトリックの一覧」をご参照ください。

  • LegacyServiceAccountTokenCleanUp フィーチャーゲートは GA に昇格し、デフォルトで有効になります。ServiceAccount に関連付けられた自動生成された Secret が、特定の期間 (デフォルトでは 1 年間) 使用されておらず、どの Pod にもマウントされていない場合、kube-controller-manager は、その Secret に現在の日付を値として kubernetes.io/legacy-token-invalid-since ラベルを追加し、その Secret を無効としてマークします。Secret が無効としてマークされた後、特定の期間 (デフォルトでは 1 年間) 未使用のままである場合、その Secret は kube-controller-manager によって自動的にクリーンアップされます。無効としてマークされているが、まだ自動的に削除されていない Secret については、kubernetes.io/legacy-token-invalid-since ラベルを削除して、再度有効にすることができます。詳細については、「自動生成されたレガシー ServiceAccount トークンのクリーンアップ」および「レガシー ServiceAccount トークンクリーナー」をご参照ください。

  • v1.30 では、kube-proxy--nodeport-addresses フラグが設定されていない場合 (デフォルト) 、NodePort Service への更新は、ノードのすべての IP アドレスではなく、プライマリ IP アドレスにのみ影響します。詳細については、「#122724」をご参照ください。

  • 設定の競合やセキュリティ上の問題を避けるため、OIDC 発行者 URL は API サーバーの ServiceAccount 発行者 URL と同じであってはなりません。詳細については、「#123561」をご参照ください。

  • LoadBalancerIPMode フィーチャーゲートは、LoadBalancer タイプのサービスに.status.loadBalancer.ingress.ipMode フィールドを追加します。このフィールドは、ロードバランサー IP の転送動作を指定します。このフィールドは、.status.loadBalancer.ingress.ip フィールドも指定されている場合にのみ指定できます。LoadBalancerIPMode フィーチャーゲートは現在ベータ版です。詳細については、「ロードバランサーのステータスの IPMode の指定」および「サービス用のロードバランサー IP モード」をご参照ください。

  • ContainerResourceメトリクスに基づく Horizontal Pod Autoscaling (HPA) は、v1.30 で Stable (安定版) になりました。この機能により、HPA は Pod 全体のリソース使用量だけでなく、Pod 内の個々のコンテナのリソース使用量に基づいてスケーリングできます。これにより、Pod 内の最も重要なコンテナのスケーリングしきい値を設定しやすくなります。詳細については、「コンテナリソースメトリクス」をご参照ください。

  • AdmissionWebhookMatchConditionsフィーチャーゲートは、一般提供 (GA) になりました。デフォルトで有効になっており、無効にすることはできません。このフィーチャーゲートにより、アドミッション Webhook を特定の条件に基づいてマッチングさせることができ、トリガー条件をより細かく制御できます。詳細については、「動的アドミッションコントロール」をご参照ください。

  • JobSuccessPolicyフィーチャーゲートが追加され、成功した Pod のセットに基づいて Job が正常に完了したことを宣言できるようになりました。成功ポリシーでは、特定のインデックス (例えば、Pod x、y、z のインデックス) またはインデックスのセットから成功した Pod の数 (例えば、3 つの Pod) に基づいて Job が完了したことを指定できます。このフィーチャーゲートはアルファ段階です。詳細については、「Job の成功/完了ポリシー」をご参照ください。

  • 環境変数でほとんどの印字可能な ASCII 文字 (= を除く 32 から 126 までのすべての文字) を使用できるように、RelaxedEnvironmentVariableValidation フィーチャーゲートが追加されました。このフィーチャーゲートはアルファ段階であり、デフォルトでは無効になっています。詳細については、「#123385」をご参照ください。

  • CustomResourceFieldSelectors フィーチャーゲートが追加されました。このフィーチャーゲートを使用して、CRD の selectableFields を設定できます。これにより、フィールドセレクターを使用して List、Watch、および DeleteCollection リクエストをフィルターできるようになり、特定の基準を満たす CRD リソースの特定や管理が容易になります。このフィーチャーゲートはアルファ段階であり、デフォルトでは無効になっています。詳細については、「カスタムリソースフィールドセレクター」をご参照ください。

  • CRDValidationRatchetingフィーチャーゲートに更新が導入されました。CRD に新しい検証が追加されると、既存のリソースが無効になる可能性があります。しかし、検証に失敗した部分が変更されない限り、API サーバーはこれらのリソースの更新をブロックしません。この変更により、既存のリソースやユーザーへの影響が防止されます。これは、CRD を OpenAPI v3 スキーマを使用するように移行する際の検証に役立ち、検証ルールを安全に更新できます。このフィーチャーゲートはベータ版であり、デフォルトで有効になっています。詳細については、「CRD 検証のラチェット」をご参照ください。

  • Downward API は、status.hostIPs フィールドを使用して、IPv4 と IPv6 の両方をサポートするデュアルスタックに対応しています。status.hostIPs リストの最初の IP アドレスは、常に status.hostIP と同じです。詳細については、「Downward API」をご参照ください。

  • NodeLogQuery 機能ゲートを使用すると、/logs エンドポイントを使用してノードサービスのログをクエリできます。この機能ゲートはベータに昇格し、デフォルトで無効になっています。詳細については、「ログクエリ」をご参照ください。

非推奨の機能

Kubernetes 1.29

  • CronJob では、CRON_TZ または TZ.spec.schedule で設定することがサポートされなくなりました。代わりに .spec.timeZone フィールドを使用してください。このフィールドは v1.25 以降で利用可能です。詳細については、「CronJob の制限」をご参照ください。

  • 議論のあった networking/v1alpha1 API の ClusterCIDR は削除されました。これはアルファ段階でした。詳細については、「ClusterCIDR v1alpha1」をご参照ください。

Kubernetes 1.30

  • --prune-whitelist パラメーターは kubectl apply コマンドから削除されました。 代わりに --prune-allowlist を使用してください。 詳細については、「--prune」をご参照ください。

  • SecurityContextDeny アドミッションプラグインは v1.27 で非推奨となり、v1.30 でコードから削除されました。代わりに PodSecurity アドミッションプラグインを使用してください。PodSecurity アドミッションプラグインは v1.25 で Stable になり、デフォルトで有効になっています。詳細については、「PodSecurity」をご参照ください。

非推奨の API

FlowSchemaおよびPriorityLevelConfigurationflowcontrol.apiserver.k8s.io/v1beta2API バージョンは v1.29 で非推奨になりました。flowcontrol.apiserver.k8s.io/v1API バージョン (v1.29 以降で利用可能) またはflowcontrol.apiserver.k8s.io/v1beta3API バージョン (v1.26 以降で利用可能) に移行してください。

  • flowcontrol.apiserver.k8s.io/v1の主な変更点は次のとおりです:

    PriorityLevelConfigurationspec.limited.assuredConcurrencyShares フィールドは spec.limited.nominalConcurrencyShares に名前が変更されました。このフィールドは、指定されていない場合にのみデフォルトで 30 になり、明示的な値 0 は 30 に変更されません。

  • flowcontrol.apiserver.k8s.io/v1beta3の主な変更点は次のとおりです:

    PriorityLevelConfiguration の spec.limited.assuredConcurrencyShares フィールドは、spec.limited.nominalConcurrencyShares に変更されました。

フィーチャーゲート

バージョンサポートや説明など、Kubernetes のフィーチャーゲートの詳細については、「フィーチャーゲート」をご参照ください。

フィーチャーゲートには通常、次の 3 つの段階があります。

  • アルファ:デフォルトで無効です。

  • ベータ:通常、デフォルトで有効です。

  • GA (一般提供):機能は常に有効であり、無効にすることはできません。フィーチャーゲートのトグルは削除されます。

参考資料

Kubernetes 1.29 および 1.30 の完全な変更ログについては、「CHANGELOG-1.29」および「CHANGELOG-1.30」をご参照ください。