Tous les produits
Search
Centre de documentation

Elastic Container Instance:Créer des pods sur plusieurs zones de disponibilité

Dernière mise à jour :Aug 11, 2026

Des échecs de création de pods ECI peuvent survenir lors de la mise à l'échelle de votre activité pour gérer des pics de trafic ou lors de l'exécution de tâches à grande échelle. Les causes fréquentes incluent un inventaire d'instances insuffisant dans une zone de disponibilité ou l'épuisement des adresses IP d'un vSwitch. Pour augmenter le taux de réussite des créations et garantir la continuité de vos activités, créez des pods ECI sur plusieurs zones de disponibilité.

Prérequis

Vous devez avoir créé plusieurs vSwitch dans différentes zones de disponibilité au sein du VPC cible.

Contexte

Lors de la création d'une instance ECI, vous pouvez spécifier plusieurs zones de disponibilité en indiquant plusieurs vSwitch. Le système répartit aléatoirement les demandes entre les zones de disponibilité spécifiées afin d'équilibrer la charge. Si l'inventaire d'une zone de disponibilité est insuffisant, le système tente automatiquement de créer l'instance dans une autre zone de disponibilité spécifiée.

Les limitations suivantes s'appliquent lorsque vous spécifiez plusieurs zones de disponibilité (vSwitch) :

  • Tous les vSwitch spécifiés doivent appartenir au même VPC.

  • Vous pouvez spécifier un maximum de 10 vSwitch.

La combinaison de plusieurs zones de disponibilité et de plusieurs types d'instances augmente encore davantage le taux de réussite de création des instances.

Configuration

Vous pouvez configurer plusieurs zones de disponibilité au niveau du cluster ou pour un pod ECI spécifique :

  • Cluster : spécifiez plusieurs vSwitch pour le cluster. Cette configuration s'applique à tous les pods ECI du cluster.

  • Pod ECI : spécifiez plusieurs vSwitch lors de la création d'un pod ECI. Cette configuration ne s'applique qu'à ce pod ECI spécifique.

Configuration d'un nouveau cluster

Avant de créer un cluster, nous vous recommandons de créer plusieurs vSwitch dans différentes zones de disponibilité au sein du VPC que vous prévoyez d'utiliser. Lors de la création du cluster, vous pouvez configurer plusieurs vSwitch pour activer la fonctionnalité multi-zones de disponibilité. L'exemple suivant illustre la création d'un cluster ACK Serverless dans la console Container Service for Kubernetes (ACK).

Dans la section Virtual Private Cloud, sélectionnez Use Existing et spécifiez le VPC cible. Ensuite, dans la section vSwitch, sélectionnez plusieurs vSwitch situés dans différentes zones de disponibilité (vous pouvez sélectionner de 1 à 10 vSwitch ; le système indique les zones de disponibilité Recommended).

Configuration d'un cluster existant

La méthode de configuration dépend de la version de VK (le composant ack-virtual-node).

  • Si votre version de VK est la v2.0.0.90-15deb126e-aliyun ou une version ultérieure, modifiez l'eci-profile.

  • Si votre version de VK est antérieure à la v2.0.0.90-15deb126e-aliyun, modifiez la variable d'environnement.

Eci-profile

Pour utiliser plusieurs zones de disponibilité, modifiez le ConfigMap nommé eci-profile et ajoutez les ID de vSwitch au champ data.vSwitchIds.

  1. Modifiez l'eci-profile.

    kubectl edit cm -n kube-system eci-profile
  2. Modifiez la valeur du champ vSwitchIds.

    Ajoutez les ID de vSwitch séparés par des virgules.

    data:
      enableClusterIp: "true"
      enableHybridMode: "false"
      enablePrivateZone: "false"
      resourceGroupId: ""
      securityGroupId: sg-2ze0b9o8pjjzts4h****
      selectors: ""
      vSwitchIds: vsw-2zeet2ksvw7f14ryz****,vsw-2ze94pjtfuj9vaymf**** 
      vpcId: vpc-2zeghwzptn5zii0w7****
  3. Enregistrez les modifications et quittez.

Environment variable

Remarque

Nous vous recommandons de mettre à jour le composant VK vers la dernière version afin de bénéficier des nouvelles fonctionnalités.

Selon la méthode de déploiement de VK, vous pouvez mettre à jour la variable d'environnement ECI_VSWITCH du Deployment ou du StatefulSet pour utiliser plusieurs zones de disponibilité. L'exemple suivant utilise un Deployment :

  1. Modifiez le Deployment.

    kubectl -n kube-system edit deployment/virtual-node-controller
  2. Modifiez la variable d'environnement ECI_VSWITCH.

    Ajoutez les ID de vSwitch à la valeur de la variable d'environnement ECI_VSWITCH. Séparez les différents ID de vSwitch par une virgule.

    - name:  ECI_VSWITCH
      value:  vsw-bp1xpiowfm5vo8o3c****,vsw-bp1rkyjgr1xwoho6k**** 
  3. Enregistrez les modifications et quittez.

Configuration d'un pod ECI

Utilisez les annotations suivantes dans les métadonnées du pod pour spécifier plusieurs zones de disponibilité :

  • k8s.aliyun.com/eci-vswitch : spécifiez plusieurs vSwitch pour utiliser plusieurs zones de disponibilité.

    Remarque

    Si un pod ECI utilise l'annotation k8s.aliyun.com/eci-vswitch, il ne prend pas en charge l'utilisation d'une StorageClass de type WaitForFirstConsumer lors du montage d'un disque provisionné dynamiquement.

  • k8s.aliyun.com/eci-schedule-strategy : configure la politique de planification pour plusieurs zones de disponibilité. Les valeurs valides sont VSwitchOrdered et VSwitchRandom. Le tableau suivant décrit ces politiques.

    Remarque

    Si vous ne spécifiez aucune politique de planification multi-zones de disponibilité, la politique VSwitchRandom est utilisée par défaut.

    Politique de planification

    Description

    VSwitchOrdered (Séquentiel)

    1. Si le pod ECI monte un disque, la zone de disponibilité du disque doit correspondre à celle du pod. Les zones de disponibilité ne répondant pas à cette exigence sont filtrées.

    2. Le système tente de créer la ressource en essayant les zones de disponibilité spécifiées dans l'ordre. Si la première zone de disponibilité dispose d'un inventaire insuffisant, il essaie la seconde, et ainsi de suite, jusqu'à ce que la ressource soit créée avec succès.

    VSwitchRandom (Optimisé pour l'inventaire)

    1. Si le pod ECI monte un disque, la zone de disponibilité du disque doit correspondre à celle du pod. Les zones de disponibilité ne répondant pas à cette exigence sont filtrées.

    2. Alibaba Cloud sélectionne un vSwitch approprié (et sa zone de disponibilité correspondante) selon une stratégie de planification optimale basée sur l'inventaire.

    3. Si le pod ECI spécifie un type d'instance, le planificateur privilégie les zones de disponibilité disposant d'une instance réservée correspondante pour ce type.

    4. Les zones de disponibilité offrant de meilleures performances de stockage sont prioritaires. Les anciennes zones de disponibilité suivantes ont une priorité de planification plus faible :

      • cn-beijing-e, cn-beijing-d

      • cn-shenzhen-a, cn-shenzhen-b, cn-shenzhen-c

      • cn-hangzhou-b, cn-hangzhou-e, cn-hangzhou-f

      • cn-shanghai-a, cn-shanghai-c

Important
  • Les annotations doivent être ajoutées aux métadonnées dans le fichier de configuration du pod. Par exemple, lors de la création d'un Deployment, vous devez ajouter les annotations dans la section spec.template.metadata.

  • Les annotations liées à Elastic Container Instance ne s'appliquent qu'à la création d'un pod. L'ajout ou la modification de ces annotations sur un pod existant n'aura aucun effet.

Voici un exemple de configuration :

apiVersion: apps/v1
kind: Deployment
metadata:
  name: test
  labels:
    app: test
spec:
  replicas: 2
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      name: nginx-test
      labels:
        app: nginx
        alibabacloud.com/eci: "true" 
      annotations:
        k8s.aliyun.com/eci-vswitch: "vsw-bp1xpiowfm5vo8o3c****,vsw-bp1rkyjgr1xwoho6k****"    # Specify multiple vSwitch IDs.
        k8s.aliyun.com/eci-schedule-strategy: "VSwitchOrdered"   # Configure the multi-availability zone scheduling policy.
    spec:
      containers:
      - name: nginx
        image: registry.cn-shanghai.aliyuncs.com/eci_open/nginx:1.14.2
        ports:
        - containerPort: 80

Étapes suivantes

Si votre instance utilise une passerelle NAT pour se connecter à Internet, vous devez mettre à jour vos entrées SNAT après avoir spécifié plusieurs vSwitch.

Par exemple, si vos entrées SNAT existantes sont configurées au niveau du vSwitch, vous devez ajouter de nouvelles entrées pour les vSwitch nouvellement ajoutés. Cela garantit que les instances ECI lancées dans les nouveaux vSwitch peuvent accéder à Internet.