Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Reprise après sinistre inter-régions avec plusieurs clusters ACK dans différents VPC (utilisation de CEN pour connecter les réseaux VPC)

Dernière mise à jour :Aug 25, 2026

Service Mesh ASM offre des fonctionnalités de répartition du trafic inter-régions et de basculement inter-régions pour les services d'application. La répartition du trafic inter-régions achemine le trafic vers plusieurs clusters selon des pondérations configurées, permettant ainsi un équilibrage de charge multi-régions. Le basculement inter-régions transfère le trafic d'une région défaillante vers d'autres régions, assurant la reprise après sinistre inter-régions. En prenant l'application Bookinfo comme exemple, cette rubrique explique comment utiliser le basculement inter-régions et la répartition du trafic pour mettre en œuvre la reprise après sinistre et l'équilibrage de charge inter-régions.

Planification réseau

Avant de commencer, planifiez les blocs CIDR, les noms et autres détails de vos vSwitches, VPC et clusters. Cette rubrique utilise le plan suivant :

Remarque

Pour plus d'informations sur la planification des adresses multi-clusters pour le plan de données, consultez Planification réseau multi-cluster.

  • Planification des réseaux vSwitch et VPC

    • Planification du réseau VPC

      Objet

      Nom du VPC

      Région

      Bloc CIDR IPv4

      Cluster

      vpc-hangzhou

      cn-hangzhou

      20.0.0.0/8

      vpc-shanghai

      cn-shanghai

      21.0.0.0/8

      Service Mesh

      vpc-hangzhou2

      cn-hangzhou

      192.168.0.0/16

    • Planification du réseau vSwitch

      Important

      Pour éviter les conflits de routage après la connexion des VPC via CEN, assurez-vous que les deux vSwitches n'utilisent pas de blocs CIDR qui se chevauchent.

      Objet

      Nom du vSwitch

      VPC

      Bloc CIDR IPv4

      Cluster

      vpc-hangzhou-switch-1

      vpc-hangzhou

      20.0.0.0/16

      vpc-shanghai-switch-1

      vpc-shanghai

      21.0.0.0/16

      Service Mesh

      vpc-hangzhou-switch-2

      vpc-hangzhou2

      192.168.0.0/24

  • Planification des réseaux Pod et Service pour les clusters

    Nom du cluster

    Région

    VPC

    CIDR Pod

    CIDR Service

    ack-hangzhou

    cn-hangzhou

    vpc-hangzhou

    10.0.0.0/16

    172.16.0.0/16

    ack-shanghai

    cn-shanghai

    vpc-shanghai

    10.1.0.0/16

    172.17.0.0/16

Étape 1 : Créer des clusters dans différentes régions

  1. Créez des VPC et des vSwitches dans les régions Chine (Hangzhou) et Chine (Shanghai) conformément au plan précédent. Pour plus d'informations, consultez Créer un vSwitch et Créer un VPC et un vSwitch.

  2. Créez des clusters dans les régions Chine (Hangzhou) et Chine (Shanghai) en utilisant les VPC et le plan réseau décrits précédemment. Pour plus d'informations, consultez Créer un cluster ACK managé.

  3. Créez une instance ASM dans la région Chine (Hangzhou) conformément au plan précédent. Pour plus d'informations, consultez Créer une instance ASM.

Étape 2 : Utiliser CEN pour connecter les VPC entre régions

Utilisez CEN pour connecter les réseaux VPC entre les clusters, ainsi qu'entre les clusters et Service Mesh.

  1. Connectez-vous à la console Cloud Enterprise Network et créez une instance CEN. Pour plus d'informations, consultez Créer une instance Cloud Enterprise Network.

  2. Créez des routeurs de transit.

    1. Sur la page Cloud Enterprise Network instances, cliquez sur l'instance CEN créée à l'étape 1. Ensuite, sous l'onglet Basic Information, cliquez sur Create Transit Router.

    2. Dans la boîte de dialogue Create Transit Router, sélectionnez une Region, saisissez un Name, puis cliquez sur Confirm.

    Cet exemple crée deux routeurs de transit :

    • Region : China (Shanghai), Name : shanghai-router.

    • Region : China (Hangzhou), Name : hangzhou-router.

  3. Ajoutez des VPC aux routeurs de transit. Répétez les étapes suivantes pour les routeurs de transit de Shanghai et de Hangzhou afin de connecter leurs VPC respectifs.

    1. Sur la page Cloud Enterprise Network instances, cliquez sur l'instance CEN créée à l'étape 1. Ensuite, sous l'onglet Basic Information, cliquez sur l'ID du routeur de transit nouvellement créé pour accéder à sa page de détails.

    2. Cliquez sur l'onglet Intra-region Connections, puis cliquez sur Create Network Instance Connection. Définissez Instance Type sur Virtual Private Cloud (VPC) et sélectionnez l'instance VPC correspondant à la région pour Network Instance.

    3. Laissez les autres paramètres à leurs valeurs par défaut et cliquez sur Create.

  4. Configurez la bande passante inter-régions.

    1. Cliquez sur le routeur de transit créé à l'étape 2. Sur le côté droit de la page, cliquez sur Create Network Instance Connection.

    2. Dans la boîte de dialogue Connect Network Instance, configurez les paramètres et cliquez sur Create.

      L'exemple suivant montre la configuration de Hangzhou vers Shanghai. Region fait référence à la région actuelle et Peer Region fait référence à la région de destination. Pour plus d'informations sur les options de configuration, consultez Connexion inter-régions. Configurez les paramètres suivants : définissez Instance Type sur Inter-region Connection, Region sur China (Hangzhou), Connection Name sur to-shanghai, Peer Region sur China (Shanghai), Bandwidth Allocation Method sur Pay-by-Data-Transfer et Bandwidth sur 1 Mbps. Développez Advanced Configuration et cochez les cases suivantes : Automatically Associate with Default Route Table of Transit Router, Automatically Propagate System Routes to Default Route Table of Transit Router et Automatically Publish Routes to Peer Region.

      Après la création, vous pouvez afficher la nouvelle instance dans l'onglet Inter-region Connections.

  5. Ajoutez des règles de groupe de sécurité.

    L'exemple suivant utilise le plug-in réseau Flannel. Ajoutez le bloc CIDR Pod du cluster pair au groupe de sécurité de chaque cluster.

    Remarque

    Si vous utilisez le plug-in réseau Terway, utilisez le bloc CIDR du vSwitch du cluster. Connectez-vous à la console VPC et trouvez le bloc CIDR du vSwitch dans la colonne vSwitch de la page IPv4 CIDR.

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Obtenez les blocs CIDR Pod.

      1. Sur la page Clusters, sélectionnez la région Chine (Shanghai), cliquez sur le nom du cluster ack-shanghai, puis sur la page Cluster Information, accédez à l'onglet Basic Information pour obtenir le bloc CIDR Pod du cluster ack-shanghai.

      2. Revenez à la page Clusters, sélectionnez la région Chine (Hangzhou), cliquez sur le nom du cluster ack-hangzhou, puis sur la page Cluster Information, accédez à l'onglet Basic Information pour obtenir le bloc CIDR Pod du cluster ack-hangzhou.

    3. Configurez les groupes de sécurité.

      1. Sur la page Cluster Information de chaque cluster, accédez à l'onglet Basic Information et cliquez sur l'ID du groupe de sécurité situé à côté de Control Plane Security Group.

      2. Sous l'onglet Security Group Details, dans la section Inbound, cliquez sur Add Rule.

      3. Définissez Protocol Type sur All, définissez Source sur le bloc CIDR Pod du cluster pair, laissez les autres paramètres par défaut, puis cliquez sur ActionsSave.

    4. Connectez-vous aux nœuds des deux clusters et utilisez la commande ping pour tester la connectivité entre les clusters. Pour plus d'informations, consultez Se connecter à un nœud.

Étape 3 : Ajouter des clusters à l'instance ASM et créer une passerelle d'entrée gérée

  1. Ajoutez les clusters des régions Chine (Hangzhou) et Chine (Shanghai) à l'instance ASM. Pour plus d'informations, consultez Ajouter un cluster à une instance ASM.

  2. Créez une passerelle d'entrée.

    apiVersion: istio.alibabacloud.com/v1beta1
    kind: IstioGateway
    metadata:
      annotations:
        asm.alibabacloud.com/managed-by-asm: 'true'
      name: ingressgateway
      namespace: istio-system
    spec:
      gatewayType: ingress
      dnsPolicy: ClusterFirst
      externalTrafficPolicy: Local
      hostNetwork: false
      ports:
      - name: http
        port: 80
        protocol: TCP
        targetPort: 80
      - name: https
        port: 443
        protocol: TCP
        targetPort: 443
      replicaCount: 1
      resources:
        limits:
          cpu: '2'
          memory: 2G
        requests:
          cpu: 200m
          memory: 256Mi
      rollingMaxSurge: 100%
      rollingMaxUnavailable: 25%
      runAsRoot: true
      serviceType: LoadBalancer

Étape 4 : Déployer l'application de démonstration Bookinfo

Important

Les étapes suivantes nécessitent de changer plusieurs fois de contexte kubeconfig. Nous vous recommandons de configurer les deux fichiers kubeconfig des clusters dans le même fichier de configuration et d'utiliser kubectl config use-context pour changer de contexte. Vous pouvez également utiliser kubecm ou kubectx pour gérer les fichiers kubeconfig de plusieurs clusters.

  1. Déployez l'application Bookinfo dans les clusters ack-hangzhou et ack-shanghai.

    kubectl apply -f bookinfo.yaml
  2. Connectez-vous à l'instance ASM à l'aide de kubectl et créez des règles de routage.

    1. Créez asm.yaml avec le contenu suivant.

      Développer pour afficher le contenu YAML

      apiVersion: networking.istio.io/v1alpha3
      kind: Gateway
      metadata:
        name: bookinfo-gateway
      spec:
        selector:
          istio: ingressgateway # use istio default controller
        servers:
        - port:
            number: 80
            name: http
            protocol: HTTP
          hosts:
          - "*"
      ---
      apiVersion: networking.istio.io/v1alpha3
      kind: VirtualService
      metadata:
        name: bookinfo
      spec:
        hosts:
        - "*"
        gateways:
        - bookinfo-gateway
        http:
        - match:
          - uri:
              exact: /productpage
          - uri:
              prefix: /static
          - uri:
              exact: /login
          - uri:
              exact: /logout
          - uri:
              prefix: /api/v1/products
          route:
          - destination:
              host: productpage
              port:
                number: 9080
      ---
      apiVersion: networking.istio.io/v1alpha3
      kind: DestinationRule
      metadata:
        name: productpage
      spec:
        host: productpage
        subsets:
        - name: v1
          labels:
            version: v1
      ---
      apiVersion: networking.istio.io/v1alpha3
      kind: DestinationRule
      metadata:
        name: reviews
      spec:
        host: reviews
        subsets:
        - name: v1
          labels:
            version: v1
        - name: v2
          labels:
            version: v2
        - name: v3
          labels:
            version: v3
      ---
      apiVersion: networking.istio.io/v1alpha3
      kind: DestinationRule
      metadata:
        name: ratings
      spec:
        host: ratings
        subsets:
        - name: v1
          labels:
            version: v1
        - name: v2
          labels:
            version: v2
        - name: v2-mysql
          labels:
            version: v2-mysql
        - name: v2-mysql-vm
          labels:
            version: v2-mysql-vm
      ---
      apiVersion: networking.istio.io/v1alpha3
      kind: DestinationRule
      metadata:
        name: details
      spec:
        host: details
        subsets:
        - name: v1
          labels:
            version: v1
        - name: v2
          labels:
            version: v2
      ---
      	  
    2. Créez les règles de routage.

      kubectl apply -f asm.yaml
  3. Vérifiez que l'application Bookinfo est déployée avec succès.

    1. Obtenir l'adresse de la passerelle d'entrée.

    2. Dans la barre d'adresse de votre navigateur, saisissez http://{adresse IP de la passerelle d'entrée}/productpage et actualisez la page plusieurs fois pour observer le routage round-robin par défaut.

      Chaque fois que vous actualisez la page, vous accédez à l'une des versions v1, v2 ou v3 du service reviews. Vous remarquerez que le trafic vers les trois versions du service reviews est réparti dans un ratio approximatif de 1:1:1.

      La page reviews-v1 affiche uniquement des avis textuels sans notation par étoiles, la page reviews-v2 affiche des notations par étoiles noires et la page reviews-v3 affiche des notations par étoiles rouges.

Étape 5 : Utiliser le basculement inter-régions et la répartition du trafic inter-régions

Configurer le basculement inter-régions

  1. Désactivez le service reviews dans le cluster ack-hangzhou.

    1. Connectez-vous à la console ACK. Dans le volet de navigation de gauche, cliquez sur Clusters.

    2. Sur la page Clusters, cliquez sur le nom de votre cluster. Dans le volet de navigation de gauche, cliquez sur Workloads > Deployments.

    3. Sur la page Deployments, définissez Namespace sur default et cliquez sur Scale dans la colonne Actions à droite de reviews-v1.

    4. Dans la boîte de dialogue Scale, définissez Desired Number of Pods sur 0 et cliquez sur OK.

  2. Configurez la DestinationRule.

    Configurez la DestinationRule de sorte que si le service reviews ne peut pas être atteint en moins d'une seconde, il soit éjecté pendant 1 minute.

    1. Sur la page de détails de l'instance ASM, choisissez Traffic Management Center > DestinationRule dans le volet de navigation de gauche.

    2. Sur la page DestinationRule, cliquez sur YAML dans la colonne Actions à côté de reviews.

    3. Dans le panneau Edit, ajoutez le contenu suivant et cliquez sur OK.

      spec:
        ......
        trafficPolicy:
          connectionPool:
            http:
              maxRequestsPerConnection: 1
          outlierDetection:
            baseEjectionTime: 1m
            consecutive5xxErrors: 1
            interval: 1s
      • maxRequestsPerConnection : nombre maximal de requêtes par connexion.

      • baseEjectionTime : durée minimale d'éjection.

      • consecutive5xxErrors : nombre d'erreurs consécutives.

      • interval : intervalle entre les vérifications d'éjection.

  3. Activez le basculement inter-régions.

    1. Sur la page de détails de l'instance ASM, choisissez ASM Instance > Base Information dans le volet de navigation de gauche.

    2. Version de l'instance ASM antérieure à 1.22.6.66

      1. Sur la page Base Information, cliquez sur Geolocation-based Load Balancing à droite de Setting.

      2. Dans la boîte de dialogue Geolocation-based Failover, configurez-la de manière à ce que lorsque la policy source est cn-shanghai, le basculement s'effectue vers cn-hangzhou, et lorsque la policy source est cn-hangzhou, le fail over to s'effectue vers cn-shanghai. Ensuite, cliquez sur Submit.

      Version de l'instance ASM 1.22.6.66 ou ultérieure

      1. Sur la page Base Information, cliquez sur Geolocation-based Load Balancing à droite de Setting.

      2. Cliquez sur Specify priority rules for regions sous Cross-region Rules. Définissez Failed Region sur cn-shanghai et The region to which the traffic is preferentially routed sur cn-hangzhou.

      3. Cliquez sur Add. Définissez ensuite Failed Region sur cn-hangzhou et Preferred Failover Region sur cn-shanghai. Cliquez sur Save.

  4. Exécutez la commande suivante pour envoyer 10 requêtes à l'application Bookinfo et comptez combien de fois la requête est routée vers la version v2 du service reviews.

    for ((i=1;i<=10;i++));do curl http://<ingress gateway address on port 80 in ack-hangzhou cluster>/productpage 2>&1|grep full.stars;done|wc -l

    Sortie attendue :

    20

    Vous verrez 20 lignes renvoyées à partir de 10 requêtes (chaque requête routée vers le service reviews v2 renvoie deux lignes contenant full stars), ce qui indique que les 10 requêtes ont été routées vers le service reviews v2 dans le cluster ack-shanghai. Le basculement inter-régions a réussi.

Configurer la répartition du trafic inter-régions

Important

La répartition du trafic inter-régions est prise en charge uniquement pour les instances ASM de version 1.22.6.66 ou ultérieure.

  1. Connectez-vous à la console ASM. Dans le volet de navigation de gauche, choisissez Service Mesh > Mesh Management.

  2. Sur la page Mesh Management, cliquez sur le nom de l'instance ASM. Dans le volet de navigation de gauche, choisissez Instance Information > Base Information.

  3. Sur la page Base Information, cliquez sur Geolocation-based Load Balancing à droite de Configure a Geolocation-based Load Balancing.

  4. Cliquez sur Configure a traffic distribution rule. Définissez Source sur cn-hangzhou, Destination sur cn-shanghai et Traffic Percentage sur 10 %. Cliquez sur Save.

    Remarque

    Par défaut, l'équilibrage de charge basé sur la géolocalisation utilise le mode de basculement. Vous devez d'abord cliquer sur Disable dans le coin supérieur droit de la page avant de pouvoir passer au mode de répartition du trafic et l'activer.

  5. Exécutez la commande suivante pour envoyer 10 requêtes à l'application Bookinfo et vérifier que la répartition du trafic inter-régions fonctionne.

    for ((i=1;i<=10;i++));do curl http://<ingress gateway address on port 80 in ack-hangzhou cluster>/productpage 2>&1|grep full.stars;done

    Sortie attendue :

    <!-- full stars: -->
    <!-- full stars: -->

    Vous verrez deux lignes contenant full stars à partir de 10 requêtes, ce qui indique que 9 requêtes ont été routées vers le service reviews v1 dans le cluster ack-hangzhou et 1 requête a été routée vers le service reviews v2 dans le cluster ack-shanghai. Le trafic a été réparti avec succès entre les clusters en fonction des pondérations configurées.

FAQ

Pourquoi l'ajout d'un cluster Kubernetes à ASM échoue-t-il même si j'ai connecté les VPC des clusters à l'aide de Cloud Enterprise Network (CEN) ?

Si vos clusters se trouvent dans différentes régions et que vous n'avez pas acheté de forfait de transfert de données inter-régions ou correctement configuré le trafic inter-régions, le plan de contrôle ASM ne peut pas se connecter aux clusters du plan de données, ce qui entraîne l'échec de l'ajout du cluster.

Pour résoudre ce problème, reconfigurez le trafic inter-régions dans Cloud Enterprise Network (CEN) pour connecter les VPC des clusters. Pour plus d'informations, consultez Étape 2 : Utiliser CEN pour connecter les VPC entre régions.