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

Container Service for Kubernetes:(Discontinued) ACK release notes for Kubernetes 1.22

最終更新日:Mar 25, 2026

Alibaba Cloud Container Service for Kubernetes (ACK) は、Kubernetes 準拠の認定プラットフォームです。このリリースノートでは、ACK での Kubernetes 1.22 リリースで導入された変更点について説明します。

アップグレード

ACK は、Kubernetes 1.22 のコンポーネントのアップグレードと最適化を提供します。

主要コンポーネント

バージョン

アップグレードノート

Kubernetes

1.22.15-aliyun.1

  • Kubernetes 1.22 では、いくつかの非推奨のベータ API が削除されます。クラスターをアップグレードする前に、以下を確認してください。

    • ベータ API で作成された既存のリソースは、アップグレードの影響を受けません。アップグレード後、これらのリソースを管理するには安定版 API バージョンを使用する必要があります。

    • 削除されたベータ API と連携するコントローラーまたはアプリケーションは、クラスターをアップグレードする前に更新する必要があります。更新しない場合、アップグレード後に機能しなくなる可能性があります。詳細については、「Kubernetes 1.22 の主な変更点」をご参照ください。

  • Kubernetes 1.22 には、複数の最適化が含まれています。詳細については、「Kubernetes 1.22 の主な変更点」をご参照ください。

  • Dockershim は Kubernetes 1.20 以降で非推奨となり、Kubernetes 1.24 で削除が予定されていますが、このバージョンでは引き続き利用可能です。移行するには、以下のガイダンスに従ってください。

    • Kubernetes 1.24 にアップグレードする前に、ノードプールアップグレード機能を使用して、ノードを Docker コンテナランタイムから containerd に移行してください。詳細については、「コンテナランタイムを Docker から containerd に変更する」をご参照ください。専用クラスターの場合、マスターノードはクラスターのアップグレード中に Docker から containerd に自動的に移行します。このプロセス中に、マスターノード上のすべてのコンテナが再作成されます。データの永続性が必要なカスタムコンテナがある場合は、アップグレード前にバックアップしてください。

    • Windows 上の containerd の機能上の制限により、Windows コンテナには引き続き Docker EE を使用することを推奨します。

    • Kubernetes 1.24 にアップグレードする前に、ノードランタイムを調整してください。詳細については、「Kubernetes 1.22 の主な変更点」をご参照ください。

  • Kubernetes 1.22.10 以降では、kube-proxy は NodePort サービスポートでリッスンしなくなります。NodePort 範囲 (API サーバーの ServiceNodePortRange パラメーター) がカーネルのローカルポート範囲 (net.ipv4.ip_local_port_range) と重複する場合、断続的な TCP 接続障害が発生し、ヘルスチェックの失敗やサービス中断につながる可能性があります。したがって、クラスターをバージョン 1.22.10 以降にアップグレードする前に、クラスターの NodePort 範囲がどのノードの net.ipv4.ip_local_port_range とも重複しないことを確認してください。NodePort 範囲の構成方法については、「NodePort 範囲を構成するにはどうすればよいですか?」または「Kubernetes コミュニティの PR」をご参照ください。

  • PodSecurityPolicy (PSP) は Kubernetes 1.21 以降で非推奨となり、Kubernetes 1.25 で削除が予定されています。このバージョンでは引き続き利用可能ですが、組み込みの Pod セキュリティアドミッションコントローラーへの移行を推奨します。詳細については、「Kubernetes 1.22 の主な変更点」をご参照ください。

  • このバージョンは、CVE-2022-3172 の脆弱性の影響を受ける可能性があります。影響と軽減策の詳細については、「CVE-2022-3172」をご参照ください。

  • Kubernetes 1.22 以降では、サービスアカウントトークンのデフォルトの有効期間は 1 年です。kubelet はこれらのトークンを自動的にローテーションします。詳細については、「BoundServiceAccountTokenVolume」をご参照ください。client-go バージョン v11.0.0+ または v0.15.0+ を使用するクライアントは、ディスクから新しいトークンを自動的に再読み込みします。ただし、古いバージョンの client-go を使用するクライアントはトークンを自動的に再読み込みしないため、トークンの有効期限が切れた後にクラスター内から API サーバーにアクセスすると認証の失敗のリスクがあります。影響を受けるバージョンを使用している場合は、client-go の依存関係をアップグレードしてください。サービスアカウントトークンの有効期限切れの影響と解決策の詳細については、「[製品変更] Kubernetes 1.22+ での ServiceAccount トークンの有効期限切れの問題を解決する」をご参照ください。

  • Kubernetes 1.22 以降にアップグレードすると、仮想ノードへの Pod のスケジューリングがデフォルトで有効になります。仮想ノードへの Pod のスケジューリングは、仮想ノードの Taint および Pod で定義されたノードアフィニティ、ポッドアフィニティ、トポロジー分散制約によって影響を受けます。アップグレード前の動作を維持するには、仮想ノードスケジューリングの有効化 オプションを kube-scheduler コンポーネントについて無効化できます。詳細については、「kube-scheduler のカスタムパラメーター」をご参照ください。

etcd

3.5.1

なし

CoreDNS

v1.9.3.6-32932850-aliyun

このアップグレードはワークロードに影響しません。以下の新機能が含まれています。

  • EndpointSlices リソースの監視をサポートします。

  • IPv6 経由の DNS クエリをサポートします。

CRI

  • Docker CE 19.03.15

  • Docker EE (Windows バージョンによって異なります)

なし

containerd 1.4.8

なし

CSI

v1.26

なし

CNI

Flannel 0.15.1.4-e02c8f12-aliyun

このアップグレードはワークロードに影響しません。以下の新機能が含まれています。

  • Authorization などのリソースの APIVersion を更新し、Kubernetes 1.22 をサポートします。

  • HostPort を使用したサービス公開をサポートします。

  • ヘアピンモードをサポートします。

Terway

なし

NVIDIA Container Runtime

3.7.0

なし

Ingress コントローラー

1.1.0-aliyun.1

このコンポーネントのアップグレードにより、一時的なサービス中断や構成の互換性に関する問題が発生する可能性があります。クラスターのアップグレードを進める前に、コンポーネントのアップグレード中に構成を徹底的に検証してください。

Kubernetes 1.22 の主な変更点

リソースの変更と非推奨化

  • [削除済み] admissionregistration.k8s.io/v1beta1 API バージョンの MutatingWebhookConfiguration および ValidatingWebhookConfiguration は提供されなくなりました。v1beta1 API を使用してアドミッションまたはミューティング Webhook 構成を作成すると失敗し、Webhook サービスが中断されます。admissionregistration.k8s.io/v1 に移行してください。

  • [削除済み] apiextensions.k8s.io/v1beta1 API バージョンのカスタムリソース定義 (CRD) は提供されなくなりました。v1beta1 API を使用して CRD を作成すると失敗し、これらのカスタムリソースの調整に依存するコントローラーに影響します。apiextensions.k8s.io/v1 に移行してください。

  • [削除済み] apiregistration.k8s.io/v1beta1 API バージョンの APIService は提供されなくなりました。v1beta1 API を使用して Kubernetes 拡張 API サービスを管理すると、サービス中断を引き起こします。apiregistration.k8s.io/v1 に移行してください。

  • [削除済み] authentication.k8s.io/v1beta1 API バージョンの TokenReview は提供されなくなりました。v1beta1 API をトークン認証に使用すると失敗し、アプリケーションが動作しなくなる可能性があります。authentication.k8s.io/v1 に移行してください。

  • [削除済み] authorization.k8s.io/v1beta1 API バージョンの SubjectAccessReview は提供されなくなりました。v1beta1 API を認証チェックに使用すると失敗し、アプリケーションが動作しなくなる可能性があります。authorization.k8s.io/v1 に移行してください。

  • [削除済み] certificates.k8s.io/v1beta1 API バージョンの CertificateSigningRequest は提供されなくなりました。v1beta1 API を使用して証明書を要求すると失敗します。certificates.k8s.io/v1 に移行してください。

  • [削除済み] coordination.k8s.io/v1beta1 API バージョンの Lease は提供されなくなりました。v1beta1 API をリーダー選出に使用すると失敗し、アプリケーションの高可用性に影響を与える可能性があります。coordination.k8s.io/v1 に移行してください。

  • [削除済み] networking.k8s.io/v1beta1 および extensions/v1beta1 API バージョンの Ingress および IngressClass は提供されなくなりました。これらの古い API バージョンを使用して Ingress リソースを管理すると失敗し、アプリケーションのトラフィックを中断させる可能性があります。networking.k8s.io/v1 に移行してください。

  • [削除済み] rbac.authorization.k8s.io/v1beta1 API バージョンの ClusterRole、ClusterRoleBinding、Role、および RoleBinding は提供されなくなりました。v1beta1 API を使用して RBAC リソースを管理すると失敗し、アプリケーションの権限関連の問題を引き起こす可能性があります。rbac.authorization.k8s.io/v1 に移行してください。

  • [削除済み] storage.k8s.io/v1beta1 API バージョンの CSIDriver、CSINode、StorageClass、および VolumeAttachment は提供されなくなりました。v1beta1 API を使用して CSI リソースを管理すると、ストレージサービスを中断させ、クラスターで CSI が正しく機能しなくなる可能性があります。storage.k8s.io/v1 に移行してください。

  • [削除済み] scheduling.k8s.io/v1beta1 API バージョンの PriorityClass は提供されなくなりました。v1beta1 API を使用して Pod 優先度クラスを管理すると失敗します。scheduling.k8s.io/v1 に移行してください。

  • [非推奨] Dockershim は非推奨となり、Kubernetes 1.24 で削除される予定です。詳細については、「EP-2221」および「cri-containerd」をご参照ください。

    Kubernetes 1.24 にアップグレードする前に、以下の手順に従ってノードランタイムを調整してください。

    • Pod 数に基づいて、非 Docker ランタイムを使用するノードの容量 (インスタンスタイプと数) を計画してください。

    • オフピーク時間中に新しいノードをスケールアウトしてください。

    • Docker ランタイムを使用するノードを 1 つずつドレインしてください。各ノードをドレインした後、次のノードをドレインする前に、アプリケーション Pod が正常に回復したことを確認してください。

    • すべての Docker ベースのノードがドレインされ、ワークロードが実行されていない場合、それらを削除できます。

  • [非推奨] Kubernetes 1.22.10 以降では、kube-proxy は NodePort サービスポートでリッスンしなくなります。NodePort 範囲 (API サーバーの ServiceNodePortRange パラメーター) がカーネルのローカルポート範囲 (net.ipv4.ip_local_port_range) と重複する場合、断続的な TCP 接続障害が発生し、ヘルスチェックの失敗やサービス中断につながる可能性があります。したがって、クラスターをバージョン 1.22.10 以降にアップグレードする前に、クラスターの NodePort 範囲がどのノードの net.ipv4.ip_local_port_range とも重複しないことを確認してください。NodePort 範囲の構成方法については、「NodePort 範囲を構成するにはどうすればよいですか?」または「Kubernetes コミュニティの PR」をご参照ください。

機能強化

  • ImmutableEphemeralVolumes 機能はデフォルトで有効になっています。ConfigMap と Secret を不変としてマークすることで、API サーバーへの負荷を大幅に軽減できます。詳細については、Kubernetes 公式ドキュメントの「Secrets」および「ConfigMaps」をご参照ください。

  • IPv4/IPv6 デュアルスタック (IPv6DualStack) 機能はデフォルトで有効になっています。この機能を使用するには、クラスターを作成する際に有効な IPv4 および IPv6 CIDR ブロックを構成し、デュアルスタックネットワークをサポートする CNI プラグインをインストールする必要があります。詳細については、「IPv4/IPv6 デュアルスタック」をご参照ください。

  • GracefulNodeShutdown 機能はデフォルトで有効になっています。この機能は Linux ノードでのみ利用可能で、保留中のノードシャットダウンを kubelet に通知し、指定されたシャットダウン期間内に Pod を正常に終了できるようにします。詳細については、「ノード」をご参照ください。

  • EfficientWatchResumption 機能はデフォルトで有効になっています。これにより、API サーバーの再起動後、ウォッチベースのキャッシュをより効率的に復元できるようになり、大規模クラスターでのパフォーマンスが向上します。詳細については、「KEP-1904」をご参照ください。

  • CSIStorageCapacity 機能はデフォルトで有効になっています。これにより、kube-scheduler が特定のボリュームサイズを必要とする Pod をスケジューリングする際に、ノードのストレージ容量を考慮できるようになり、より高速なスケジューリング決定につながります。詳細については、「ストレージ容量」をご参照ください。

  • DaemonSetUpdateSurge 機能はデフォルトで有効になっています。DaemonSet のローリングアップデート中に、.spec.strategy.rollingUpdate.maxSurge を指定して、希望数を超えて作成できる Pod の最大数を定義できるようになりました。詳細については、「DaemonSet のローリングアップデートを実行する」をご参照ください。

  • IndexedJob 機能はデフォルトで有効になっています。ジョブで .spec.completionModeIndexed に設定することで、各 Pod は完了インデックスアノテーション (batch.kubernetes.io/job-completion-index) と環境変数 (JOB_COMPLETION_INDEX) を受け取ります。詳細については、「Kubernetes」をご参照ください。

  • MemoryManager 機能はデフォルトで有効になっています。この機能は Linux ノードでのみ利用可能で、NUMA 対応メモリ管理を提供し、特定のメモリ品質要件を持つアプリケーションのパフォーマンスを大幅に向上させることができます。ACK はこの機能に関連するメモリ予約を構成しません。詳細については、「ランタイムメモリマップ」および「ノード上の CPU 管理ポリシーを制御する」をご参照ください。

  • PodAffinityNamespaceSelector 機能はデフォルトで有効になっています。Pod アフィニティポリシーは、同じ名前空間内のラベル選択に限定されなくなり、より柔軟なクロスネームスペーススケジューリング戦略が可能になります。詳細については、「KEP-2249」をご参照ください。

  • PodDeletionCost 機能はデフォルトで有効になっています。この機能により、Pod 使用率に基づいて削除コストを設定することで、スケールダウン中の Pod 終了の順序に影響を与えることができ、使用率の低い Pod はコストが低くなります。詳細については、「ReplicaSet」をご参照ください。

  • PreferNominatedNode 機能はデフォルトで有効になっています。kube-scheduler は、指名されたノードへの Pod スケジューリングを優先します。すべての指名されたノードが不適切な場合にのみ、スケジューラはクラスター内の他のノードを評価します。詳細については、「KEP-1923」をご参照ください。

  • ProbeTerminationGracePeriod 機能はデフォルトで有効になっています。この機能は liveness プローブにのみ適用され、プローブレベルの terminationGracePeriodSeconds を構成することで、失敗した Pod が再起動されるまでの待機時間を短縮できます。詳細については、「Liveness、Readiness、および Startup プローブを構成する」をご参照ください。

  • NetworkPolicyEndPort 機能はデフォルトで有効になっています。これにより、NetworkPolicy でポート範囲を定義できます。詳細については、「ネットワークポリシー」をご参照ください。

  • LogarithmicScaleDown 機能はデフォルトで有効になっています。この機能はスケールダウン中の Pod 終了をランダム化し、トポロジースプレッド制約に関連する問題を軽減するのに役立ちます。詳細については、「スケールダウン時に Pod トポロジースプレッド制約を考慮する必要がある」および「KEP-2185」をご参照ください。

  • SuspendJob 機能はデフォルトで有効になっています。この機能により、ジョブを一時停止および再開できるようにすることで、ジョブのライフサイクルをより詳細に制御できます。詳細については、「中断されたジョブの導入」をご参照ください。

  • ServiceInternalTrafficPolicy 機能はデフォルトで有効になっています。これにより、サービスの内部トラフィックを現在のノード (Local) の準備完了エンドポイント、またはクラスター全体のすべての準備完了エンドポイント (Cluster) にルーティングできます。詳細については、「サービス」をご参照ください。

  • ServiceLoadBalancerClass 機能はデフォルトで有効になっており、カスタムロードバランサー実装を使用できます。詳細については、「ロードバランサー実装のクラスを指定する」をご参照ください。

  • ServiceLBNodePortControl 機能はデフォルトで有効になっています。トラフィックが Pod に直接ルーティングされるシナリオでは、.spec.allocateLoadBalancerNodePortsfalse に設定することで、LoadBalancer タイプのサービスの NodePort 割り当てを無効にできます。詳細については、「ロードバランサー NodePort 割り当ての無効化」をご参照ください。

  • SizeMemoryBackedVolumes 機能はデフォルトで有効になっています。この機能は Linux ノードでのみ利用可能で、emptyDir.sizeLimit を使用してメモリバックアップ emptyDir ボリュームのサイズを明示的に定義でき、Pod スケジューリングの透過性を向上させます。詳細については、「KEP-1967」をご参照ください。

  • サーバーサイド Apply 機能はデフォルトで有効になっています。この機能により、リソースのフィールドへの変更のソース、時間、操作を追跡できます。詳細については、「サーバーサイド Apply」をご参照ください。

  • Windows コンテナの CSI サポートが安定版になりました。Windows Server 2019 や Windows Server Core バージョン 2004 など、特権コンテナをサポートしないオペレーティングシステムでは、Windows コンテナは CSI プロキシを使用してホスト上のストレージを管理できます。この機能には、互換性のある CSI プラグインが必要です。詳細については、「csi-proxy」をご参照ください。

  • CSRDuration 機能はデフォルトで有効になっています。.spec.expirationSeconds を指定する CertificateSigningRequest (CSR) を送信すると、発行された証明書の有効期間は、要求された期間とコントローラーマネージャーの --cluster-signing-duration パラメーターの短い方になります。ACK でのこのパラメーターのデフォルト値は 10 年です。詳細については、「署名者」をご参照ください。

  • BoundServiceAccountTokenVolume 機能ゲートが一般提供 (GA) になりました。非プロジェクションボリュームを使用して Pod にマウントされたサービスアカウントは、デフォルトで 1 年間の有効期間を持つようになりました。詳細については、「機能ドキュメント」をご参照ください。

新機能

  • このリリースでは、永続ボリューム (PV) ヘルスモニター機能が導入されています。これにより、ワークロードが PV のヘルスを検出するのに役立ち、障害のあるボリュームからのデータ読み取りまたは書き込みを防止します。CSI ボリュームヘルスモニタリング機能は、ACK でデフォルトで有効になっています。この機能には、基盤となる CSI プラグインからのサポートが必要です。詳細については、「ボリュームヘルスモニタリング」をご参照ください。

  • このリリースでは、cgroups v2 に基づくメモリリソースのサービス品質 (QoS) 機能が導入されています。リソースが制約されている場合 (リソース要求の急増時など)、CPU リソースは可用性を確保するためにスロットルされる可能性があります。ただし、メモリリソースは同じ方法でスロットルできません。Linux カーネルコミュニティは、メモリのスロットリングをサポートするために cgroups v2 を最適化しました。メモリ QoS 機能は、ACK でデフォルトで有効になっています。この機能は、サポートされているカーネルを持つ Linux ノードでのみ利用可能です。詳細については、「cgroup v1 インターフェースの memcg QoS 機能」および「2570-memory-qos」をご参照ください。

  • このリリースでは、HostProcess コンテナを使用して Windows で特権コンテナを実行する機能が導入されています。Windows HostProcess コンテナ機能は、ACK でデフォルトで有効になっています。この機能には、ノードのオペレーティングシステムからのサポートが必要です。詳細については、「Windows Server 2022 の Windows コンテナの新機能」および「Windows HostProcess Pod を作成する」をご参照ください。

  • このリリースでは、ワークロードがノードスワップメモリを使用できるようにする機能が導入されています。この機能は Linux ノードでのみ利用可能で、アプリケーションがスワップメモリを使用することでより良いパフォーマンスを達成できるシナリオ、または管理者がメモリ負荷時のノードの安定性を向上させるためにスワップを使用したいシナリオで役立ちます。この機能は、ACK でデフォルトで無効になっています。詳細については、「スワップメモリ管理」および「KEP-2400」をご参照ください。

  • このリリースでは、すべてのワークロードのデフォルトの seccomp プロファイルを構成する機能が導入されています。この機能は Linux ノードでのみ利用可能です。有効にすると、デフォルトで RuntimeDefault seccomp プロファイルが適用されます。一部のワークロードはシステムコール制限が少ないことを要求する場合があるため、この機能をデフォルトで有効にすると、それらが失敗する可能性があります。この機能は、ACK でデフォルトで無効になっています。詳細については、「すべてのワークロードのデフォルトの seccomp プロファイルとして RuntimeDefault の使用を有効にする」をご参照ください。

機能の置き換え

  • PodSecurityPolicy (PSP) は非推奨となり、Kubernetes 1.25 で完全な削除が予定されています。Pod セキュリティアドミッションコントローラーは、ACK でデフォルトで有効になっています。Kubernetes 1.22 で既存の PSP リソースを徐々に置き換えることができます。詳細については、「Pod セキュリティアドミッション」およびブログ投稿「PodSecurityPolicy の非推奨化: 過去、現在、未来」をご参照ください。

  • Service の topologyKeys フィールドを使用して構成されていた ServiceTopology 機能は非推奨です。これはトポロジー認識ヒント機能に置き換えられます。ServiceTopology 機能は、ACK でデフォルトで無効になっています。有効にしている場合は、Kubernetes 1.22 でトポロジー認識ヒントを有効にし、新機能に徐々に移行できます。詳細については、「トポロジー認識ヒント」をご参照ください。

Kubernetes 1.22 の ACK 強化機能

可観測性

  • API サーバーの可観測性を向上させるための、API サーバーアクセス要求の追加メトリック。

  • ACK Pro、ACK Serverless Pro、および ACK Edge Pro クラスターの場合、ACK はコントロールプレーンの可観測性を向上させるために、コントロールプレーンコンポーネントの主要メトリックを公開するようになりました。

安定性

すべてのクラスタータイプの場合:

  • コールドスタート時の etcd への影響を軽減するためのストレージ層の保護。

  • コールドスタート時の API サーバーへの影響を軽減するための、リクエストソース、タイプ、またはルートの組み合わせに基づく API サーバーのトラフィックスロットリングのサポート。

パフォーマンス最適化

バグ修正

kube-controller-manager: 特定のシナリオで発生した EndpointSlice リークを修正します。詳細については、「EndpointSlice ミラーリングがサービスセレクタートランジションを処理する方法の修正」をご参照ください。

参考資料