Tous les produits
Search
Centre de documentation

Server Load Balancer:Mettre en œuvre une reprise après sinistre hybride basée sur une passerelle multi-cluster ALB dans ACK One

Dernière mise à jour :Aug 19, 2026

ACK One vous permet d'acheminer le trafic entre un cluster cloud et un cluster sur site (ou un cluster hébergé sur une plateforme tierce) depuis un seul plan de contrôle. En cas de défaillance d'une zone, le trafic bascule automatiquement vers l'autre. Cette rubrique détaille la configuration complète : mise en réseau, enregistrement des clusters, distribution des applications et configuration de la passerelle.

Architecture

Le système repose sur trois composants principaux : une instance Fleet (avec GitOps en option), un cluster ACK dans le cloud et un cluster enregistré connecté à votre environnement sur site.

image

Connexion des composants :

  1. Toutes les ressources Alibaba Cloud partagent un même VPC. Un cluster ACK s'exécute dans la zone de disponibilité 1 (AZ 1) et un cluster enregistré est provisionné dans la zone de disponibilité 2 (AZ 2).

  2. Votre cluster Kubernetes sur site (ou un cluster hébergé sur une plateforme tierce) se connecte au cluster enregistré via une liaison dédiée reliant le centre de données au VPC.

  3. Le cluster ACK et le cluster enregistré sont tous deux associés à l'instance Fleet. ACK One GitOps distribue l'application sur les deux clusters.

  4. Sur l'instance Fleet, un AlbConfig crée une passerelle multi-cluster ALB. Un Ingress sur l'instance Fleet définit les règles de routage du trafic qui contrôlent le trafic nord-sud et activent la reprise après sinistre inter-zones.

Prérequis

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

  • Une instance Fleet, un cluster ACK et un cluster enregistré situés dans le même VPC mais dans des zones de disponibilité différentes.

  • Des plages CIDR de nœuds et de pods non chevauchantes entre le cluster ACK et le cluster Kubernetes sur site. Consultez la rubrique Conception réseau pour la gestion Fleet pour obtenir des conseils de planification.

  • Une liaison dédiée connectant votre centre de données sur site au VPC.

  • Une décision concernant l'utilisation d'un réseau de conteneurs en mode underlay ou overlay pour votre cluster sur site. Ce choix détermine le type de Service requis à l'étape 3.

Type de réseau Type de Service requis Cas d'utilisation
Underlay ClusterIP Les adresses IP des pods sont directement routables depuis le réseau sur site.
Overlay NodePort Les adresses IP des pods ne sont pas routables ; le trafic doit entrer par les ports de nœud.

Étape 1 : Concevoir le réseau et créer les clusters

  1. Créez une instance Fleet, un cluster ACK et un cluster enregistré dans le même VPC. Placez le cluster ACK et le cluster enregistré dans des zones de disponibilité différentes.

  2. Vérifiez que les plages CIDR des nœuds et des pods du cluster ACK ne chevauchent pas celles du cluster Kubernetes sur site.

Étape 2 : Se connecter à Alibaba Cloud

  1. Connectez le cluster Kubernetes sur site au cluster enregistré. Pour plus de détails, consultez la rubrique Créer un cluster enregistré.

    Pour migrer des charges de travail vers Alibaba Cloud à l'aide de ressources élastiques, consultez les rubriques Créer un cluster cloud hybride et ajouter des instances ECS au cluster et Planifier des pods sur des instances de conteneur élastiques déployées en tant que nœuds virtuels . Pour améliorer la disponibilité face à des pics de trafic inattendus, consultez la rubrique Créer des ECI entre plusieurs zones .
  2. Connectez le réseau sur site au VPC. Pour une vue d'ensemble, consultez les rubriques Connectivité réseau et Vue d'ensemble des réseaux hybrides.

  3. Associez le cluster enregistré et le cluster ACK à l'instance Fleet. Pour plus de détails, consultez la rubrique Gérer les clusters associés.

Étape 3 : Distribuer l'application sur plusieurs clusters

Les exemples ApplicationSet ci-dessous utilisent l'application web-demo. Pour en savoir plus sur les ApplicationSets, consultez la rubrique Créer une application multi-cluster.

Réseau underlay

Tous les clusters utilisent des Services ClusterIP. Appliquez l'ApplicationSet suivant :

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: appset-web-demo-undelay
  namespace: argocd
spec:
  template:
    metadata:
      name: '{{.metadata.annotations.cluster_id}}-web-demo'
      namespace: argocd
    spec:
      destination:
        name: '{{.name}}'
        namespace: gateway-demo
      project: default
      source:
        repoURL: https://github.com/AliyunContainerService/gitops-demo.git
        path: manifests/helm/web-demo
        targetRevision: main
        helm:
          valueFiles:
            - values.yaml
          parameters:
            - name: envCluster
              value: '{{.metadata.annotations.cluster_name}}'
      syncPolicy:
        automated: {}
        syncOptions:
          - CreateNamespace=true
  generators:
    - clusters:
        selector:
          matchExpressions:
            - values:
                - cluster
              key: argocd.argoproj.io/secret-type
              operator: In
            - values:
                - in-cluster
              key: name
              operator: NotIn
  goTemplateOptions:
    - missingkey=error
  syncPolicy:
    preserveResourcesOnDeletion: false
  goTemplate: true

Réseau overlay

Le cluster sur site utilise des Services NodePort ; le cluster ACK utilise des Services ClusterIP. Ajoutez les libellés appropriés à chaque cluster avant d'appliquer l'ApplicationSet.

  1. Dans l'interface utilisateur Argo CD, accédez à Settings > Clusters et ajoutez les libellés suivants :

    • Cluster sur site : cluster: idc

    • Cluster ACK : cluster: ack

  2. Appliquez l'ApplicationSet suivant :

apiVersion: argoproj.io/v1alpha1
kind: ApplicationSet
metadata:
  name: appset-web-demo-overlay
  namespace: argocd
spec:
  template:
    metadata:
      name: '{{.metadata.annotations.cluster_id}}-web-demo-overlay'
      namespace: argocd
    spec:
      destination:
        name: '{{.name}}'
        namespace: gateway-demo
      project: default
      source:
        repoURL: https://github.com/AliyunContainerService/gitops-demo.git
        path: manifests/helm/web-demo
        targetRevision: main
        helm:
          valueFiles:
            - values.yaml
          parameters:
            - name: isNodePort
              value: "{{.values.isNodePort}}"
            - name: envCluster
              value: '{{.metadata.annotations.cluster_name}}'
      syncPolicy:
        automated: {}
        syncOptions:
          - CreateNamespace=true
  generators:
    - clusters:
        selector:
          matchLabels:
            cluster: 'idc'
        # A key-value map for arbitrary parameters
        values:
          isNodePort: "true"
    - clusters:
        selector:
          matchLabels:
            cluster: 'ack'
        values:
          isNodePort: "false"
  goTemplateOptions:
    - missingkey=error
  syncPolicy:
    preserveResourcesOnDeletion: false
  goTemplate: true

Étape 4 : Configurer la passerelle multi-cluster ALB

Une fois l'application exécutée sur les deux clusters, configurez la passerelle pour gérer le routage du trafic et le basculement :

  1. Sur l'instance Fleet, créez un AlbConfig pour provisionner la passerelle multi-cluster ALB et ajoutez-y le cluster ACK ainsi que le cluster enregistré.

  2. Créez des règles de routage et des Ingress sur l'instance Fleet pour mettre en œuvre la redondance active inter-zones.

Pour suivre la procédure de configuration complète, consultez la rubrique Mettre en place un système de reprise après sinistre inter-zones.

Étapes suivantes