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

Container Service for Kubernetes:(サポート終了) ACK 向け Kubernetes 1.20 バージョンガイド

最終更新日:Sep 17, 2026

Container Service for Kubernetes (ACK) は Certified Kubernetes Conformance Program に準拠しています。このトピックでは、Kubernetes 1.20 をサポートするために ACK が行った変更点をまとめています。アップグレード前に必要な 6 つの対応事項、5 つの非推奨事項、および複数の新機能と ACK 固有の機能強化が含まれます。

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

コアコンポーネント

バージョン

注記

Kubernetes

1.20.11

アップグレード前に、以下の対応事項を確認してください。

Docker ランタイム

19.03.5

このリリースで非推奨になりました。既存のクラスターは引き続き動作します。

Containerd ランタイム

1.4.4

なし

etcd

3.4.3

なし

CSI (Container Storage Interface)

1.26

なし

CoreDNS

1.7.0

メトリクス名が更新され、upstream プラグインが削除されました。

NVIDIA Container Runtime

3.4.1

なし

アップグレード前に必要な対応

重要

ACK クラスターを Kubernetes 1.20 にアップグレードする前に、以下の各項目を確認してください。項目によっては、アップグレード前にワークロードまたはクラスター設定の変更が必要です。

アドミッション Webhook 証明書の SAN の確認

アドミッション Webhook 用の自己署名サーバー証明書には、必須のサブジェクトの別名 (SAN) を含める必要があります。アップグレード前に、アドミッション Webhook 証明書に必須の SAN が含まれていることを確認してください。準拠した証明書設定の例については、「サンプル Helm チャート」をご参照ください。

selfLink からの移行

変更内容: selfLink フィールドは Kubernetes 1.20 で非推奨となり、空の値を返します。

影響を受ける対象: API 応答から selfLink フィールドを読み取るアプリケーション、およびオープンソースの nfs-client-provisioner を使用するクラスター。

対応方法:

  • API 応答から selfLink を読み取るアプリケーションを更新してください。

  • nfs-client-provisioner を使用している場合は、selfLink に依存しないバージョンに更新してください。

詳細については、「Stop setting SelfLink in kube-apiserver」をご参照ください。

アップグレード前の alicloud-nas-controller の更新 (FlexVolume クラスターのみ)

影響を受ける対象:FlexVolume と alicloud-nas-controller の両方がデプロイされているクラスター。

対応方法:Kubernetes 1.20 にアップグレードする前に、alicloud-nas-controller イメージを 1.14.8.17-7b898e5-aliyun 以降に更新してください。

FlexVolume は非推奨です。Container Storage Interface (CSI) に移行するには、Upgrade from FlexVolume to CSIをご参照ください。

CoreDNS メトリクス名の更新

CoreDNS 1.7.0 では既存のメトリクス名が変更されます。監視システムで CoreDNS メトリクスを収集している場合は、アップグレード前にメトリクス名を更新してください。変更点の一覧については、「Metric changes」をご参照ください。

説明

upstream プラグインはサポートされなくなりました。upstream が Corefile に指定されている場合、CoreDNS のアップグレード時に自動的に削除されます。

exec プローブのタイムアウトの修正

変更内容:Kubernetes 1.20 では、kubelet が exec プローブの timeoutSeconds 設定を無視するという、長年存在していたバグが修正されました。この修正以前は、exec プローブはタイムアウトせずに無期限に実行されていました。修正後、デフォルトのタイムアウトは 1 秒です。

影響を受ける対象:実行時間が 1 秒を超える exec プローブがあり、かつ timeoutSeconds が明示的に設定されていない Pod。これらのプローブは 1 秒後に失敗します。

対応方法:アップグレード前に、明示的な timeoutSeconds が設定されていない exec プローブを含む Pod 定義を監査してください。timeoutSeconds を適切な値に設定してください。

Ingress API バージョンの更新

Ingress および IngressClass の extensions/v1beta1 と networking.k8s.io/v1beta1 API バージョンは、Kubernetes 1.22 で削除されます。1.22 にアップグレードする前に、networking.k8s.io/v1 に移行してください。

説明

ACK クラスターには、デフォルトで NGINX Ingress controller が含まれます。現在、networking.k8s.io/v1beta1 をサポートしています。Kubernetes 1.22 にアップグレードする前に、networking.k8s.io/v1 への移行を計画してください。

非推奨

非推奨項目

代替

削除予定

Docker ランタイム

Containerd ランタイム

将来の Kubernetes リリース

node-role.kubernetes.io/master ラベル

node-role.kubernetes.io/control-plane

Kubernetes 1.20 より後のバージョン

Ingress の extensions/v1beta1 / networking.k8s.io/v1beta1

networking.k8s.io/v1

Kubernetes 1.22

selfLink フィールド

N/A (API から削除)

Kubernetes 1.20 より後のバージョン

FlexVolume

CSI (Container Storage Interface)

将来のリリース

Docker ランタイムの非推奨について: Kubernetes 1.20 では、Docker は削除ではなく非推奨として扱われます。既存のクラスターは、変更なしで引き続き動作します。Docker でビルドしたコンテナイメージは影響を受けません。この変更はイメージ形式ではなく、コンテナランタイムにのみ適用されます。マネージドサービスの ACK ユーザーは、直ちに対応する必要はありません。将来のリリースで Docker のサポートが終了する前に、ワーカーノードをサポートされているコンテナランタイムへ移行する必要があります。詳細については、「Dockershim Deprecation FAQ」をご参照ください。

マスターノードのラベルについて: ACK 専用クラスターでは、デフォルトでマスターノードに node-role.kubernetes.io/control-plane ラベルが追加されるようになりました。node-role.kubernetes.io/master ラベルは、Kubernetes 1.20 より後のバージョンで非推奨です。

新機能

API の優先度と公平性

API の優先度と公平性 (APF) はパブリックプレビューで提供されており、デフォルトで有効です。APF を使用すると、kube-apiserver への API リクエストを制限し、優先順位を付けられます。詳細については、「API Priority and Fairness」をご参照ください。

EndpointSlice のデフォルト有効化

Kubernetes 1.19 以降では、EndpointSlice が kube-proxy によってデフォルトで有効になりました。EndpointSlice により、大規模クラスターのスケーラビリティが向上します。詳細については、「EndpointSlices」をご参照ください。

ConfigMap と Secret の不変化 (パブリックプレビュー)

ConfigMap または Secret を不変に設定することで、誤操作による変更を防止できます。不変リソースは kube-apiserver の負荷も軽減します。詳細については、「Immutable ConfigMaps」をご参照ください。

Windows コンテナーの機能強化

  • Windows コンテナーでは、EndpointSlice がデフォルトで有効です。

  • デバイスプラグインがサポートされるようになりました。詳細については、「Device plug-ins」をご参照ください。

ACK 固有の機能強化

コントロールプレーンの改善

  • 可観測性: リクエスト操作と watch 操作の両方でメトリクスが収集されるようになり、コントロールプレーンコンポーネントの挙動をより詳細に把握できます。

  • 安定性: クラスター起動時に kube-apiserver が過剰なリクエストから etcd を保護するようになり、コールドスタート時のシナリオにおけるレジリエンスが向上しました。

  • パフォーマンス: 新しいインデックスにより List リクエストの処理が高速化され、高負荷の読み取り時における kube-apiserver の CPU 使用率が低減されます。

Alibaba Cloud Linux 2 に対する kube-proxy の互換性

Kubernetes 1.20.11 では、kube-proxy はカーネルバージョン 4.19.91-23 以降の Alibaba Cloud Linux 2 と互換性があります。IPVS モードが有効な場合、conn_reuse_mode は 0 に設定されません。背景については、「IPVS」をご参照ください。

Virtual node scheduling (applies after upgrading to Kubernetes 1.22 or later)

After upgrading to Kubernetes 1.22 or later, virtual node scheduling is enabled by default. Pods scheduled to virtual nodes are subject to:

  • Taints on virtual nodes

  • Node affinity

  • Pod affinity/anti-affinity rules

  • Topology spread constraints

To keep the pre-upgrade scheduling behavior, clear [仮想ノードスケジューリングの有効化] in the kube-scheduler settings. For configuration steps, see Custom parameters of kube-scheduler.

関連ドキュメント