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

Elastic Container Instance:ArmベースのECSインスタンスタイプ

最終更新日:Dec 28, 2024

このトピックでは、ArmベースのElastic Compute Service(ECS)インスタンスタイプを指定してElastic Container Instance(ECI)ポッドを作成する方法について説明します。ポッドはArmベースの仮想ノードで実行されます。

前提条件

Armベースの仮想ノードはクラスタ内に作成されます。クラスタ内にArmベースの仮想ノードを作成する方法については、Armベースの仮想ノードを追加するを参照してください。

サポートされているインスタンスファミリ

ArmベースのECSインスタンスタイプは、ARMアーキテクチャに基づいています。各vCPUはプロセッサの物理コアに対応します。安定したパフォーマンスを提供し、専用リソースを提供します。コンテナ、マイクロサービス、Webサイトおよびアプリケーションサーバー、高性能コンピューティング、CPUベースの機械学習などのシナリオに適しています。

カテゴリ

Armベースのインスタンスファミリ

汎用インスタンスファミリ

g8y

コンピューティング最適化インスタンスファミリ

c8y

メモリ最適化インスタンスファミリ

r8y

ECSインスタンスファミリの詳細については、以下のトピックを参照してください。

構成

ポッドの構成ファイルのメタデータにk8s.aliyun.com/eci-use-specsアノテーションを追加してArmベースのECSインスタンスタイプを指定するだけでなく、nodeSelectorをkubernetes.io/arch: arm64に設定する必要があります。これにより、KubernetesはポッドをArmベースの仮想ノードにスケジュールできます。

例:

  1. クラスタ内にArmベースの仮想ノードが存在することを確認します。

    kubectl get node

    返されたノード名にlinux-arm64サフィックスが含まれている場合、そのノードはArmベースの仮想ノードです。

    ARM节点

    説明

    クラスタ内にArmベースの仮想ノードを作成する方法については、ARMベースの仮想ノードの追加を参照してください。

  2. ArmベースのECSインスタンスタイプを指定してポッドを作成します。

    kubectl create -f arm-test.yaml

    arm-test.yamlファイルの例:

    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.c8y.large,ecs.g8y.large"   # ArmベースのECSインスタンスタイプを指定します。一度に最大5つのインスタンスタイプを指定できます。
        spec:
          containers:
          - name: nginx
            image: arm64v8/centos:7.9.2009   # Armベースのイメージを使用します。
            command: ["sleep"]
            args: ["999999"]
          nodeSelector:
            kubernetes.io/arch: arm64  # ポッドをArmベースの仮想ノードにスケジュールします。