Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Run a Job with ECI

Dernière mise à jour :Sep 17, 2026

Exécutez des charges de travail par lots sur des pods ECI qui démarrent en quelques secondes et pour lesquels la facturation s'arrête dès leur achèvement.

La facturation s'interrompant à la fin d'un Job, les charges de travail par lots évitent les coûts liés aux nœuds pré-provisionnés et aux ressources de calcul inactives. Cette approche rend ECI idéal pour les charges de travail dont la demande est variable.

Kubernetes cluster

Prérequis

Vérifiez les points suivants :

Fonctionnement de la planification

Pour exécuter un pod sur ECI, appliquez l'étiquette alibabacloud.com/eci=true au pod ou à son namespace. Le nœud virtuel (virtual-kubelet) intercepte alors le pod et le planifie sur ECI plutôt que sur un nœud classique du cluster.

Cet exemple utilise une étiquette au niveau du namespace pour planifier tous les pods de ce namespace sur des nœuds virtuels. Pour découvrir d'autres méthodes, consultez la rubrique Planifier des pods sur des nœuds virtuels.

Procédure

Étape 1 : Créer un namespace et ajouter l'étiquette ECI

kubectl create ns vk
kubectl label namespace vk alibabacloud.com/eci=true

Tous les pods du namespace vk s'exécutent en tant que pods ECI sur des nœuds virtuels.

Étape 2 : Créer le Job

  1. Enregistrez le code YAML suivant dans un fichier nommé job.yaml. Ce Job utilise 16 cœurs CPU et 32 GiB de mémoire pour calculer pi avec 2 000 décimales.

    apiVersion: batch/v1
    kind: Job
    metadata:
      name: pi
      namespace: vk     # Pods in this namespace are scheduled to Elastic Container Instances
    spec:
      template:
        spec:
          containers:
          - name: pi
            image: registry.cn-shanghai.aliyuncs.com/eci_open/perl:5.32
            command: ["perl",  "-Mbignum=bpi", "-wle", "print bpi(2000)"]
            resources:
              requests:
                cpu: 16
                memory: 32Gi
          restartPolicy: Never
      backoffLimit: 4
  2. Appliquez le fichier YAML.

    kubectl -n vk apply -f job.yaml

Étape 3 : Vérifier l'achèvement du Job

Vérifiez le statut du pod.

kubectl -n vk get pod -o wide

Un statut Completed et un préfixe de nom de nœud virtual-kubelet confirment que le pod a bien été exécuté sur un nœud virtuel.

NAME       READY   STATUS      RESTARTS   AGE   IP              NODE                            NOMINATED NODE   READINESS GATES
pi-zw2lc   0/1     Completed   0          15m   192.168.XX.XX   virtual-kubelet-cn-shanghai-b   <none>           <none>

Étape 4 : Confirmer l'arrêt de la facturation

Inspectez les événements du pod.

kubectl -n vk describe pod <pod-name>

La présence d'un événement StopCharge dans la section Events confirme que le pod ECI a terminé son exécution et que la facturation a été interrompue.

Events:
  Type     Reason            Age   From        Message
  ----     ------            ----  ----        -------
  Warning  ImageCacheMissed  16m   EciService  [eci.imagecache]Missed image cache.
  Normal   Pulling           16m   kubelet     Pulling image "registry.cn--shanghai.aliyuncs.com/eci_open/perl:5.32"
  Normal   Pulled            15m   kubelet     Successfully pulled image "registry.cn-shanghai.aliyuncs.com/eci_open/perl:5.32" in 12.951s (12.951s including waiting). Image size: 336066994 bytes.
  Normal   Created           15m   kubelet     Created container: pi
  Normal   Started           15m   kubelet     Started container pi
  Normal   StopCharge        15m   EciService  [eci.containergroup]The charge of current ECI instance has been stopped, but the related resources are still being cleaned.
Les pods ECI sont facturés en fonction de l'utilisation réelle des ressources et la facturation s'arrête à la fin de l'exécution. Consultez les rubriques Facturation des instances de conteneur élastiques et Cycle de vie des pods d'instance de conteneur élastique.

Étapes suivantes

Pour réduire davantage les coûts, utilisez des pods ECI préemptibles. Consultez la rubrique Utiliser des instances de conteneur élastiques préemptibles pour exécuter des Jobs.