全部產品
Search
文件中心

Elastic Container Instance:指定Arm規格建立Pod

更新時間:Nov 16, 2024

本文介紹如何指定ECS Arm規格建立一個Arm架構的ECI Pod,該Pod將運行在Arm架構的虛擬節點上。

前提條件

已在叢集中建立了Arm架構的虛擬節點。關於如何建立Arm架構的虛擬節點,請參見添加Arm架構的虛擬節點

規格說明

Arm規格基於Arm架構,每一個vCPU都對應一個處理器的物理核心,具有效能穩定且資源獨享的特點,適用於容器、微服務、網站和應用伺服器、高效能運算、基於CPU的機器學習等情境。

規格類型

Arm規格類型系列

通用型

g8y

計算型

c8y

記憶體型

r8y

關於ECS規格的詳細資料,請參見:

配置說明

除了在Pod metadata中添加k8s.aliyun.com/eci-use-specs的Annotation來指定Arm規格外,建立Arm規格的Pod必須要配置nodeSelector為kubernetes.io/arch: arm64以適配K8s調度。

配置樣本如下:

  1. 確認叢集中已有Arm架構的虛擬節點。

    kubectl get node

    如果返回的節點名稱中帶有linux-arm64的尾碼,則表示該節點為Arm架構的虛擬節點。

    ARM節點

    說明

    關於如何在叢集中建立Arm架構的虛擬節點,請參見添加Arm架構的虛擬節點

  2. 指定Arm規格建立Pod。

    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"   # 指定支援的ECS Arm規格,單次最多5個。
        spec:
          containers:
          - name: nginx
            image: arm64v8/centos:7.9.2009   # 使用基於Arm架構的鏡像。
            command: ["sleep"]
            args: ["999999"]
          nodeSelector:
            kubernetes.io/arch: arm64  # 調度到Arm節點。