Cette rubrique explique comment créer un pod ECI pour l'architecture Arm en spécifiant un type d'instance ECS Arm. Le pod s'exécute sur un nœud virtuel basé sur l'architecture Arm.
Prérequis
Vous avez créé un nœud virtuel basé sur l'architecture Arm dans votre cluster. Pour plus d'informations, consultez la section Ajouter un nœud virtuel basé sur l'architecture Arm.
Types d'instances
Pour en savoir plus sur les types d'instances ECS, consultez les rubriques suivantes :
Configuration
Pour créer un pod avec un type d'instance Arm, ajoutez l'annotation k8s.aliyun.com/eci-use-specs aux métadonnées du pod afin de spécifier le type d'instance, et définissez le sélecteur nodeSelector sur kubernetes.io/arch: arm64 pour planifier le pod sur un nœud doté de l'architecture Arm.
Les étapes suivantes détaillent la configuration du pod.
-
Vérifiez qu'un nœud virtuel basé sur l'architecture Arm existe dans le cluster.
kubectl get nodeSi la sortie inclut un nom de nœud se terminant par le suffixe
linux-arm64, il s'agit d'un nœud virtuel basé sur l'architecture Arm.:~$ kubectl get node NAME STATUS ROLES AGE VERSION virtual-kubelet-cn-beijing-h Ready agent 169m v1.24.6-aliyun.1 virtual-kubelet-cn-beijing-i Ready agent 169m v1.24.6-aliyun.1 virtual-kubelet-cn-beijing-i-linux-arm64 Ready agent 75s v1.24.6-aliyun.1 virtual-kubelet-cn-beijing-k Ready agent 169m v1.24.6-aliyun.1RemarquePour savoir comment créer un nœud virtuel basé sur l'architecture Arm, consultez la section Ajouter un nœud virtuel basé sur l'architecture Arm.
-
Créez un pod et spécifiez un type d'instance Arm.
kubectl create -f arm-test.yamlVoici un exemple de fichier 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" # Specifies the ECS Arm instance types. You can list up to five. spec: containers: - name: nginx image: arm64v8/centos:7.9.2009 # An image built for the Arm architecture. command: ["sleep"] args: ["999999"] nodeSelector: kubernetes.io/arch: arm64 # Schedules the pod to a node with the Arm architecture.