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

Container Service for Kubernetes:Elastic Container Instanceプラットフォームのバージョンを更新する

最終更新日:Dec 14, 2024

Container Service for Kubernetes (ACK) クラスターをアップグレードすると、Elastic Container InstanceプラットフォームバージョンとKubernetesバージョンのクラスター間の互換性が自動的にチェックされます。 Elastic Container InstanceプラットフォームのバージョンがKubernetesバージョンと互換性がない場合、Kubernetesバージョンのクラスターをアップグレードする前に、Elastic Container Instanceベースのポッドを手動で削除して再作成する必要があります。 ACKクラスターをアップグレードする前に、Elastic Container InstanceプラットフォームのバージョンがKubernetesバージョンのクラスターと互換性があることを確認してください。 このトピックでは、Elastic Container InstanceプラットフォームバージョンとKubernetesバージョンの互換性について説明します。 このトピックでは、Elastic Container Instanceプラットフォームのバージョンをアップグレードする方法についても説明します。

Elastic Container Instanceプラットフォームバージョンの概要

Elastic Container Instanceプラットフォームのバージョンは、elastic containerインスタンスが実行されるランタイム環境のバージョンを指します。 新しい機能の追加、バグの修正、パッチのインストールのために、新しいElastic Container Instanceプラットフォームバージョンがリリースされました。

ACKサーバーレスクラスターに作成されたElastic Container Instanceベースのポッドの構成には、デフォルトでk8s.aliyun.com/eci-platform-versionアノテーションが含まれています。 アノテーションの値は、ポッドが実行されるElastic Container Instanceプラットフォームのバージョンを示します。 例:

---
apiVersion: v1
kind: Pod
metadata:
  annotations:
    k8s.aliyun.com/eci-platform-version: 1.0.0
  name: demo-76d8d9f9d8-l7pwm
  namespace: default
...

Elastic Container InstanceプラットフォームバージョンとKubernetesバージョンの互換性

次の表に、さまざまなElastic Container Instanceプラットフォームバージョンと互換性のあるKubernetesバージョンを示します。

重要

新しく作成されたElastic Container InstanceベースのポッドのElastic Container Instanceプラットフォームバージョンは1.1.0です。 既存のElastic Container InstanceベースのポッドのElastic Container Instanceプラットフォームバージョンは1.0.0または利用できません。

Elastic Container Instance Platformのバージョン

互換性のあるKubernetesバージョン

1.1.0

1.12、1.14、1.16、1.18、1.20、1.22、1.24、1.26、1.28、1.30、1.31 (カナリアリリース)

1.0.0

1.12、1.14、1.16、1.18、1.20、1.22、1.24

使用できません

(k8s.aliyun.com/eci-platform-version注釈は設定されていません)

1.12、1.14、1.16、1.18、1.20、1.22、1.24

Elastic Container Instanceプラットフォームバージョンのアップグレード

  1. クラスターに接続します。 詳細については、「クラスターのkubeconfigファイルを取得し、kubectlを使用してクラスターに接続する」をご参照ください。

  2. Elastic Container Instanceプラットフォームのバージョンが1.0.0または空の文字列であるElastic Container Instanceベースのポッドに関する情報を照会します。

    情報には、名前空間、ポッド名、Elastic Container Instanceプラットフォームのバージョン、およびelastic containerインスタンスIDが含まれます。 情報はコンマ (,) で区切った形式で表示されます。

    kubectl get pods -A -o json | jq -r '.items[] | select(.metadata.annotations["k8s.aliyun.com/eci-platform-version"] == "1.0.0" or .metadata.annotations["k8s.aliyun.com/eci-platform-version"] == null or .metadata.annotations["k8s.aliyun.com/eci-platform-version"] == "") | select(.spec.nodeName | startswith("virtual-kubelet")) | "\(.metadata.namespace),\(.metadata.name),\(.metadata.annotations["k8s.aliyun.com/eci-platform-version"] // ""),\(.metadata.annotations["k8s.aliyun.com/eci-instance-id"])"'

    期待される出力:

    default,portal-server-57dfc4fdc8-2gl64,,eci-2zecdr8z5jy******
  3. 次のコマンドを実行して、前の手順で返されたポッドを削除して再作成します。

    kubectl delete pod portal-server-57dfc4fdc8-2gl64 -n default

    期待される出力:

    pod "portal-server-57dfc4fdc8-2gl64" deleted

    再作成されたポッドは、最新のElastic Container Instanceプラットフォームバージョンを使用します。 次のコマンドを実行して、再作成されたポッドのElastic Container Instanceプラットフォームバージョンを照会します。

    kubectl get pods -A -o json | jq -r '.items[] | select(.spec.nodeName | startswith("virtual-kubelet")) | "\(.metadata.namespace),\(.metadata.name),\(.metadata.annotations["k8s.aliyun.com/eci-platform-version"] // ""),\(.metadata.annotations["k8s.aliyun.com/eci-instance-id"] // "")"'