Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Use elastic resources to implement Elastic Container Instance-based scheduling (discontinued)

Dernière mise à jour :Aug 11, 2026
Important

Les versions 1.18 à 1.24 de Kubernetes conservent la capacité de planification élastique dans Elastic Container Instance (ECI). Depuis mai 2023, Container Service for Kubernetes (ACK) ne maintient plus cette fonctionnalité pour les clusters exécutant Kubernetes v1.24 ou une version ultérieure. Utilisez plutôt l'une des alternatives suivantes :

Pour comparer les solutions de planification de nœuds virtuels, consultez la rubrique Planifier un pod sur un nœud virtuel.

La planification basée sur les instances de conteneur élastique vous permet de contrôler le backend de calcul qui exécute vos pods en ajoutant une seule annotation aux métadonnées du pod. Selon la valeur de l'annotation, les pods s'exécutent exclusivement sur les nœuds Elastic Compute Service (ECS), exclusivement sur les instances de conteneur élastique, ou sur les instances de conteneur élastique uniquement lorsque la capacité ECS du cluster est épuisée.

Prérequis

Avant de commencer, assurez-vous de disposer des éléments suivants :

  • Un cluster managé ACK Pro

  • Une version de planificateur prise en charge pour votre version de Kubernetes. Pour plus de détails sur les versions du planificateur, consultez kube-scheduler.

    Version de Kubernetes Version minimale du planificateur
    1.18 v1.18-ack-3.0
    1.20 v1.20.4-ack-4.0
    1.22 v1.22.3-ack-1.0
    1.24 v1.24.3-ack-2.0
  • Le composant ack-virtual-node déployé dans le cluster. Pour obtenir des instructions de configuration, consultez Planifier des pods sur des instances de conteneur élastique via des nœuds virtuels.

Configurer le mode de planification

Ajoutez l'annotation alibabacloud.com/burst-resource à la section metadata du pod. Pour un Deployment, placez l'annotation sous spec.template.metadata.

Le tableau suivant résume l'impact de chaque valeur d'annotation sur le comportement de planification :

Valeur de l'annotation Comportement de planification Nœud virtuel requis Échec si
(non définie) Utilise uniquement les nœuds ECS existants dans le cluster (par défaut) Non
eci Utilise d'abord les nœuds ECS ; bascule sur ECI lorsque la capacité ECS est insuffisante
eci_only Utilise uniquement ECI ; les nœuds ECS ne sont jamais utilisés Oui Aucun nœud virtuel n'existe dans le cluster
Toute autre valeur Échec systématique ; valeur invalide
Important

alibabacloud.com/burst-resource: eci entre en conflit avec alibabacloud.com/fluid-sidecar-target: eci. Pour des exemples d'utilisation de alibabacloud.com/fluid-sidecar-target, consultez Accélérer l'accès aux données dans le cloud computing sans serveur et les rubriques connexes.

Appliquer l'annotation

  1. Créez un fichier nommé nginx-deployment.yaml avec le contenu suivant :

    apiVersion: apps/v1
    kind: Deployment
    metadata:
      name: nginx
      labels:
        app: nginx
    spec:
      replicas: 4
      selector:
        matchLabels:
          app: nginx
      template:
        metadata:
          name: nginx
          annotations:
            alibabacloud.com/burst-resource: eci  # Fall back to ECI when ECS capacity is insufficient
          labels:
            app: nginx
        spec:
          containers:
          - name: nginx
            image: anolis-registry.cn-zhangjiakou.cr.aliyuncs.com/openanolis/nginx:1.14.1-8.6
            resources:
              limits:
                cpu: 2
              requests:
                cpu: 2
  2. Appliquez le manifeste :

    kubectl apply -f nginx-deployment.yaml

Scénarios d'échec

La planification des pods échoue dans les situations suivantes :

  • La valeur de l'annotation n'est ni eci ni eci_only. Le message PodStatus est requesttypemustbeeci,eci_onlyorecs (Kubernetes v1.22.15 et v1.24.6).

  • La valeur de l'annotation est eci_only mais aucun nœud virtuel n'existe dans le cluster. Le message PodStatus est doesn'tfitecitype:eci_only (Kubernetes v1.22.15 et v1.24.6).

Étapes suivantes