本文介紹如何指定ECS Arm規格建立一個Arm架構的ECI Pod,該Pod將運行在Arm架構的虛擬節點上。
前提條件
已在叢集中建立了Arm架構的虛擬節點。關於如何建立Arm架構的虛擬節點,請參見添加Arm架構的虛擬節點。
規格說明
關於ECS規格的詳細資料,請參見:
配置說明
除了在Pod metadata中添加k8s.aliyun.com/eci-use-specs
的Annotation來指定Arm規格外,建立Arm規格的Pod必須要配置nodeSelector為kubernetes.io/arch: arm64以適配K8s調度。
配置樣本如下:
確認叢集中已有Arm架構的虛擬節點。
kubectl get node
如果返回的節點名稱中帶有
linux-arm64
的尾碼,則表示該節點為Arm架構的虛擬節點。說明關於如何在叢集中建立Arm架構的虛擬節點,請參見添加Arm架構的虛擬節點。
指定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節點。