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

Elastic Container Instance:特定の世代の ECS インスタンスファミリーを指定または除外して Pod を作成

最終更新日:Jun 22, 2026

vCPU 数とメモリサイズを指定して Elastic Container Instance (ECI) Pod を作成する場合、特定の Elastic Compute Service (ECS) インスタンスタイプが必要になることがあります。例えば、g6 や c6 などの第 6 世代 ECS インスタンスファミリーのみを使用して Pod を作成したい場合があります。このような場合、k8s.aliyun.com/eci-instance-generation アノテーションを追加して、目的の世代の ECS インスタンスファミリーを指定できます。このトピックでは、Pod 作成時に特定の世代の ECS インスタンスファミリーを指定または除外する方法について説明します。

機能の説明

vCPU 数とメモリサイズを指定して Elastic Container Instance (ECI) Pod を作成すると、システムはさまざまな ECS インスタンスタイプを使用して作成をサポートし、vCPU とメモリの要件を満たし、十分なリソースを持つインスタンスタイプを自動的に選択します。この場合、k8s.aliyun.com/eci-instance-generation アノテーションを追加して、特定の世代の ECS インスタンスファミリーを指定または除外できます。

  • 特定の世代の ECS インスタンスファミリーを指定した場合、システムは指定された世代の ECS インスタンスファミリーからのみ ECS インスタンスタイプを選択します。指定された世代の ECS インスタンスファミリーのリソースが不足している場合、システムは Pod を作成しません。

  • 特定の世代の ECS インスタンスファミリーを除外した場合、システムは ECI がサポートする他の世代の ECS インスタンスファミリーから ECS インスタンスタイプを選択して Pod を作成します。

次の表に、Pod 作成時に指定または除外できる ECS インスタンスファミリーの世代と、その世代の ECS インスタンスファミリーを示します。

アーキテクチャ

ECS インスタンスファミリーの世代

ECS インスタンスファミリー

Arm

8

g8y、c8y、r8y

x86

8

g8i、c8i、r8i、hfg8i、hfc8i、hfr8i

7

g7、c7、r7、hfg7、hfc7、hfr7、g7ne

6

g6e、g6、c6e、c6、r6e、r6、hfc6、hfg6

5

u1、g5、g5ne、c5、r5、ic5、hfc5、hfg5

4

sn2ne、sn1ne、se1ne、se1

ECS インスタンスタイプの詳細については、次のトピックをご参照ください。

注意事項

  • 特定の世代の ECS インスタンスファミリーに基づいて作成された Pod は、実際に使用された ECS インスタンスタイプに基づいて課金されます。指定された vCPU 数とメモリサイズに基づいて課金されるわけではありません。

    重要

    Pod が作成された後、kubectl describe pod コマンドを実行して Pod の YAML 詳細を表示できます。k8s.aliyun.com/eci-instance-spec フィールドの値は、Pod が使用する ECS インスタンスタイプを示します。Pod はこの ECS インスタンスタイプに基づいて課金されます。

  • 特定の世代の ECS インスタンスファミリーを指定または除外する場合、システムは gn6i インスタンスファミリーなどの GPU インスタンスタイプや i2g インスタンスファミリーなどのローカルディスク付きインスタンスタイプを含む、特定のインスタンスタイプを自動的に選択できません。特定の ECS インスタンスタイプを使用して Pod を作成したい場合は、インスタンスタイプを直接指定してください。詳細については、「ECS インスタンスタイプを指定して Pod を作成」をご参照ください。

  • 特定の世代の ECS インスタンスファミリーを指定または除外して、プリエンプティブル ECI を作成できます。このシナリオでは、システムは市場価格と設定した ECS インスタンスファミリーの世代の順序に基づいて、最適な ECS インスタンスタイプを選択します。ECS インスタンスファミリーの世代に厳しい要件がある場合は、1つの世代のみを指定することを推奨します。

  • 特定の世代の ECS インスタンスファミリーを指定または除外する機能は、vCPU 数とメモリサイズを指定して Pod を作成する場合にのみ有効になります。Pod 作成時に最初に ECS インスタンスタイプを指定した場合、この機能は有効になりません。

設定の説明

k8s.aliyun.com/eci-instance-generation の有効な値は、ECS インスタンスファミリーの世代です。次の点にご注意ください。

  • 複数の世代を設定できます。有効な値は、Pod の作成に使用できる ECS インスタンスファミリーの世代です。

    重要

    第 8 世代の ECS インスタンスファミリーは、Arm アーキテクチャのみをサポートします。第 8 世代の ECS インスタンスファミリーを使用して Pod を作成するには、nodeSelector フィールドを指定して Pod を Arm ベースの仮想ノードにスケジュールする必要があります。第 8 世代の ECS インスタンスファミリーを x86 アーキテクチャを使用するものと併用することはできません。Arm ベースの Pod を作成する場合、特定の世代の ECS インスタンスファミリーを指定または除外する必要はありません。例えば、第 8 世代の ECS インスタンスファミリーを除外する必要はありません。詳細については、「Pod を Arm ベースの仮想ノードにスケジュールする」および「Arm アーキテクチャの ECS インスタンスタイプ」をご参照ください。

  • ECS インスタンスファミリーの世代の前にマイナス記号 (-) を付けると、その世代は除外されます。

    例えば、k8s.aliyun.com/eci-instance-generation: "-5,-4" と指定すると、第5世代と第4世代の ECS インスタンスファミリーが除外され、第7世代または第6世代の ECS インスタンスファミリーが使用されます。

  • システムは、指定された順序に基づいて世代を選択します。

    例えば、k8s.aliyun.com/eci-instance-generation: "6,5" アノテーションは、システムが優先的に第 6 世代 ECS インスタンスファミリーを使用することを指定します。必要な vCPU とメモリの仕様を満たす第 6 世代 ECS インスタンスファミリーのリソースが不足している場合、第 5 世代 ECS インスタンスファミリーが使用されます。第 5 世代 ECS インスタンスファミリーのリソースも不足している場合、Pod は作成されません。

k8s.aliyun.com/eci-instance-generation アノテーションを使用する前に、次のいずれかのメソッドを使用して vCPU 数とメモリサイズを指定する必要があります:

  • コンテナの limits または requests パラメーターを指定します。limits パラメーターを指定することを推奨します。

  • Pod のメタデータに k8s.aliyun.com/eci-use-specs アノテーションを追加します。

例 1: 特定の世代の ECS インスタンスファミリーを指定

パラメーター

効果

  • limits パラメーターが vCPU とメモリリソース (2 vCPU、4 GiB メモリ) を定義するように設定されています。

  • k8s.aliyun.com/eci-instance-generation: "6,5" アノテーションが設定されています。このアノテーションは、システムが第 6 世代の ECS インスタンスファミリー、次に第 5 世代の ECS インスタンスファミリーを使用することを指定します。

  • システムは、vCPU とメモリの仕様要件を満たす第 6 世代の ECS インスタンスファミリーからインスタンスタイプを優先的に選択します。

  • 第 6 世代の ECS インスタンスファミリーのリソースが不足している場合、システムは第 5 世代の ECS インスタンスファミリーからインスタンスタイプを選択します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-instance-generation: "6,5"    # 第 6 世代と第 5 世代の ECS インスタンスファミリーを順に使用するように指定します。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80
        resources:
          limits:
            cpu: "2"       # 最大 vCPU 数を指定します。
            memory: "4Gi"  # 最大メモリサイズを指定します。

例 2: 特定の世代の ECS インスタンスファミリーを除外

パラメーター

効果

  • k8s.aliyun.com/eci-use-specs: "2-4Gi" アノテーションが vCPU とメモリリソース (2 vCPU、4 GiB メモリ) を定義するように設定されています。

  • k8s.aliyun.com/eci-instance-generation: "-5,-4" アノテーションが第 5 世代と第 4 世代の ECS インスタンスファミリーを除外するように設定されています。

システムは、vCPU とメモリの仕様要件を満たす第 7 世代と第 6 世代の ECS インスタンスファミリーからインスタンスタイプを選択します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "2-4Gi"                    # あいまい検索モードで vCPU とメモリの仕様を指定します。
        k8s.aliyun.com/eci-instance-generation: "-5,-4"          # 第 5 世代と第 4 世代の ECS インスタンスファミリーを除外します。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

例 3: 特定の世代の ECS インスタンスファミリーを指定し、特定の ECS インスタンスファミリーを除外

パラメーター

効果

  • k8s.aliyun.com/eci-use-specs: "2-4Gi" アノテーションが vCPU とメモリリソース (2 vCPU、4 GiB メモリ) を定義するように設定されています。

  • k8s.aliyun.com/eci-instance-generation: "6,5" アノテーションが設定されています。このアノテーションは、システムが第 6 世代の ECS インスタンスファミリー、次に第 5 世代の ECS インスタンスファミリーを使用することを指定します。

  • k8s.aliyun.com/eci-instance-family: "-ecs.hfg5" アノテーションが ecs.hfg5 インスタンスファミリーを除外するように設定されています。

  • システムは、vCPU とメモリの仕様要件を満たす第 6 世代の ECS インスタンスファミリーからインスタンスタイプを優先的に選択します。

  • 第 6 世代の ECS インスタンスファミリーのリソースが不足している場合、システムは ECI がサポートする第 5 世代の ECS インスタンスファミリー (ecs.hfg5 を除く) からインスタンスタイプを選択します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "2-4Gi"                   # vCPU とメモリの仕様を指定します。
        k8s.aliyun.com/eci-instance-generation: "6,5"           # 第 6 世代と第 5 世代の ECS インスタンスファミリーを順に使用するように指定します。
        k8s.aliyun.com/eci-instance-family: "-ecs.hfg5"           # ecs.hfg5 インスタンスファミリーを除外します。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

例 4: 特定の世代の ECS インスタンスファミリーと特定の ECS インスタンスファミリーを除外

パラメーター

効果

  • k8s.aliyun.com/eci-use-specs: "2-4Gi" アノテーションが vCPU とメモリリソース (2 vCPU、4 GiB メモリ) を定義するように設定されています。

  • k8s.aliyun.com/eci-instance-generation: "-5,-4" アノテーションが第 5 世代と第 4 世代の ECS インスタンスファミリーを除外するように設定されています。

  • k8s.aliyun.com/eci-instance-family: "-ecs.hfg6" アノテーションが ecs.hfg6 インスタンスファミリーを除外するように設定されています。

システムは、vCPU とメモリの仕様要件を満たす第 7 世代と第 6 世代の ECS インスタンスファミリー (ecs.hfg6 を除く) からインスタンスタイプを選択します。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "2-4Gi"                    # あいまい検索モードで vCPU とメモリの仕様を指定します。
        k8s.aliyun.com/eci-instance-generation: "-5,-4"          # 第 5 世代と第 4 世代の ECS インスタンスファミリーを除外します。
        k8s.aliyun.com/eci-instance-family: "-ecs.hfg6"            # ecs.hfg6 インスタンスファミリーを除外します。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

例 5: 無効な設定

特定の世代の ECS インスタンスファミリーを指定または除外する機能は、vCPU 数とメモリサイズを指定して Pod を作成する場合にのみ有効になります。ECS インスタンスタイプを指定して Pod を作成する場合、この機能は有効になりません。指定された世代の ECS インスタンスファミリーが有効にならない場合、IgnoreInstanceTypeFeatures イベントが生成されます。

イベント名

タイプ

イベントメッセージ

イベントの説明

IgnoreInstanceTypeFeatures

Warning

[eci.containergroup]The instance type features will be ignored as the provided specifications, [%s],correspond exclusively to ECS instance types.

k8s.aliyun.com/eci-use-specs アノテーションは ECS インスタンスタイプを定義するため、ECS インスタンスファミリーの世代を指定する他のアノテーションは無視されます。

次の例では、第 6 世代の ECS インスタンスファミリーを指定するアノテーションは自動的に無視され、ecs.c5.large インスタンスタイプのみを使用して Pod が作成されます:

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 1
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-use-specs: "ecs.c5.large"   # 特定の ECS インスタンスタイプを指定します。
        k8s.aliyun.com/eci-instance-generation: "6"    # 特定の世代の ECS インスタンスファミリーを指定します。この設定は有効になりません。
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

IgnoreInstanceTypeFeatures イベントは Pod イベントで確認できます。