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

Container Service for Kubernetes:(提供終了) Kubernetes 1.20 リリースノート

最終更新日:Jun 26, 2025

Container Service for Kubernetes (ACK) は、Certified Kubernetes Conformance Program の条件に厳密に準拠しています。このトピックでは、ACK が Kubernetes 1.20 をサポートするために行った変更点について説明します。

バージョンのアップグレード

すべての ACK コンポーネントが更新され、Kubernetes 1.20 をサポートするように最適化されました。

コアコンポーネント

バージョン

説明

Kubernetes

1.20.11

  • ACK クラスタを Kubernetes 1.20 以降に更新する前に、クラスタ内のアドミッション Webhook の自己署名サーバー証明書に必要なサブジェクトの別名 (SAN) が含まれていることを確認してください。詳細については、「Helm チャートのサンプル」をご参照ください。

  • selfLink フィールドは非推奨です。詳細については、「kube-apiserver での SelfLink の設定の停止」をご参照ください。

    アプリケーションで selfLink を使用している場合は、事前に設定を変更する必要があります。オープンソースの nfs-client-provisioner をインストールしている場合は、selfLink に依存しないバージョンにコンポーネントを更新する必要があります。

  • デフォルトでは、node-role.kubernetes.io/control-plane ラベルが ACK 専用クラスタのマスターノードに追加されます。node-role.kubernetes.io/master ラベルは、1.20 以降の Kubernetes バージョンでは非推奨です。

  • FlexVolume と alicloud-nas-controller の両方がクラスタにデプロイされている場合は、クラスタの Kubernetes バージョンを 1.20 に更新する前に、alicloud-nas-controller イメージを 1.14.8.17-7b898e5-aliyun 以降に更新する必要があります。FlexVolume は非推奨です。FlexVolume から Container Storage Interface (CSI) にアップグレードすることをお勧めします。詳細については、「Upgrade from FlexVolume to CSI」をご参照ください。

  • Kubernetes 1.22 以降にアップグレードした後、仮想ノードスケジューリングはデフォルトで有効になります。仮想ノードにスケジュールされた Pod は、次のようになります。

    • 仮想ノードのテイント

    • ノードアフィニティ

    • Pod アフィニティ/アンチアフィニティルール

    • トポロジスプレッド制約

    アップグレード前のスケジューリング動作を維持するには、kube-scheduler[仮想ノードベースの Pod スケジューリングを有効にする] をオフにします。構成手順については、「kube-scheduler のカスタムパラメータ」をご参照ください。

Docker ランタイム

19.03.5

なし

Containerd ランタイム

1.4.4

なし

etcd

3.4.3

なし

CSI

1.26

なし

CoreDNS

1.7.0

  • 非推奨のアップストリームプラグインは互換性がなくなりました。アップストリームプラグインが Corefile 構成で指定されている場合、CoreDNS のアップグレード時に安全な方法で自動的に削除されます。

  • メトリックの名前が更新されました。監視システムが CoreDNS メトリックに依存している場合は、メトリック名を更新する必要があります。詳細については、「メトリックの変更」をご参照ください。

NVIDIA Container ランタイム

3.4.1

なし

バージョンの詳細

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

  • Docker ランタイムは非推奨です。Docker ランタイムは Kubernetes 1.20 で非推奨とマークされています。ただし、クラスタで Docker ランタイムを引き続き使用できます。Docker ランタイムは、以降のバージョンのオープンソース Kubernetes ではサポートされません。この変更はコンテナイメージには影響しません。引き続き Docker イメージをビルドできます。詳細については、「Dockershim の非推奨に関する FAQ」をご参照ください。

  • デフォルトでは、node-role.kubernetes.io/control-plane ラベルが ACK 専用クラスタのマスターノードに追加されます。node-role.kubernetes.io/master ラベルは、1.20 以降の Kubernetes バージョンでは非推奨です。

  • selfLink フィールドは非推奨です。詳細については、「kube-apiserver で SelfLink の設定を停止する」をご参照ください。

  • extensions/v1beta1 および networking.k8s.io/v1beta1 API バージョンは、Ingress および IngressClass の管理に使用されなくなり、1.22 以降の Kubernetes バージョンでは非推奨になります。networking.k8s.io/v1 を代わりに使用してください。

    説明

    デフォルトでは、NGINX Ingress コントローラが ACK クラスタにインストールされます。このコンポーネントを使用すると、networking.k8s.io/v1beta1 API バージョンを使用して Ingress および IngressClass を管理できます。

  • 必要な SAN は、ACK クラスタ内のアドミッション Webhook の自己署名サーバー証明書に含まれている必要があります。ACK クラスタを Kubernetes 1.20 以降に更新する前に、クラスタ内のアドミッション Webhook の自己署名サーバー証明書に必要な SAN が含まれていることを確認してください。詳細については、「Helm チャートのサンプル」をご参照ください。

機能のアップグレード

  • exec プローブがタイムアウト設定に基づいてタイムアウトしないという問題が kubelet で修正されました。exec プローブのデフォルトのタイムアウト期間は 1 秒になりましたが、一部の exec プローブでは短すぎる場合があります。exec プローブのタイムアウト期間が指定されていない場合は、デフォルトのタイムアウト期間を指定することをお勧めします。

  • API Priority and Fairness 機能 (APF) はパブリックプレビューの Kubernetes の機能であり、デフォルトで有効になっています。この機能を使用して、リクエストを制限および優先順位付けできます。詳細については、「API の優先順位と公平性」をご参照ください。

  • デフォルトでは、EndpointSlice 機能が有効になっています。Kubernetes 1.19 以降では、大規模クラスタをサポートするために kube-proxy によって EndpointSlice 機能が自動的に有効になります。詳細については、「EndpointSlice」をご参照ください。

  • 不変の ConfigMap と Secret がサポートされています。不変の ConfigMap と Secret 機能はパブリックプレビューです。ConfigMap または Secret が不変に設定されている場合、変更することはできません。これにより、kube-apiserver の負荷が軽減されます。詳細については、「不変の ConfigMap」をご参照ください。

Kubernetes 1.20 の機能強化

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

  • 可観測性。リクエスト操作と監視操作を監視するためにメトリックが収集されます。これにより、コントロールプレーンコンポーネントの可観測性が向上します。

  • 安定性。クラスタの起動時に過剰なリクエストから etcd を保護するための保護が提供されます。これにより、システムの安定性が向上します。

  • パフォーマンスの最適化。リストリクエストの処理を高速化するためにインデックスが追加されます。これにより、kube-apiserver の CPU 使用率が削減されます。

Windows コンテナの機能強化

  • デフォルトでは、EndpointSlice 機能が有効になっています。

  • デバイスプラグインがサポートされています。詳細については、「デバイスプラグイン」をご参照ください。

パフォーマンスの最適化

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

参照