Tous les produits
Search
Centre de documentation

Container Service for Kubernetes:Configure hybrid, cross-region, and on-premises backends

Dernière mise à jour :Aug 11, 2026

ALB Ingress prend en charge l'annotation alb.ingress.kubernetes.io/actions.<service-name> pour configurer les groupes de serveurs backend. Vous pouvez associer ces groupes par nom de service ou par ID de groupe de serveurs, ce qui permet une association hybride des Pods au sein d'un cluster Kubernetes et des instances ECS externes au cluster. En combinant des produits tels qu'ALB, Cloud Enterprise Network (CEN) et les routeurs de transit, vous pouvez acheminer les requêtes vers des serveurs situés dans des VPC d'autres régions (association interrégionale) ou vers des serveurs de centres de données sur site (association sur site). Cette rubrique décrit comment utiliser ALB Ingress pour mettre en œuvre des associations hybrides, interrégionales et vers des centres de données sur site.

Table des matières

Notes d'utilisation

  • Le nom de service spécifié dans l'annotation alb.ingress.kubernetes.io/actions.<service-name> doit correspondre au nom de service du champ backend dans la règle rule.

  • Lors de la configuration d'un groupe de serveurs backend, le nom du port de service sous backend dans le champ rule doit être défini sur use-annotation.

  • Utilisez l'annotation alb.ingress.kubernetes.io/actions.<service name> pour associer plusieurs groupes de serveurs à une instance ALB.

  • Une instance ALB de base prend en charge un maximum de cinq groupes de serveurs.

  • Si vous associez un groupe de serveurs en utilisant à la fois ServerGroupID et ServiceName+ServicePort, le système privilégie ServerGroupID pour faire correspondre le groupe de serveurs backend.

Scénario 1 : Transférer les requêtes vers plusieurs services

Prérequis

Scénario

Comme illustré dans la figure suivante, l'action de transfert multi-groupes de serveurs d'ALB Ingress vous permet de créer ou d'associer plusieurs groupes de serveurs backend en configurant ServiceName+ServicePort pour transférer les requêtes vers plusieurs Services au sein du cluster.

image

Procédure

  1. Configurez ALB Ingress.

    Déployez le contenu suivant dans le fichier tea-ingress.yaml. Cela définit la manière dont les requêtes sont transférées vers plusieurs Services au sein du cluster.

    # This Ingress forwards requests to different backend server groups based on the hostname and path, with traffic distributed according to weights.
    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: tea-ingress
      annotations:
        alb.ingress.kubernetes.io/actions.forward: |
           [{
               "type": "ForwardGroup",
               "ForwardConfig": {
                 "ServerGroups" : [{
                   "ServiceName": "tea-svc",
                   "Weight": 80,
                   "ServicePort": 80
                 },
                 {
                   "ServiceName": "coffee-svc",
                   "Weight": 20,
                   "ServicePort": 80
                 }]
               }
           }]
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          - path: /path
            pathType: Prefix
            backend:
              service:
                name: forward
                port:
                  name: use-annotation
  2. Accédez au service depuis la ligne de commande. Pour plus d'informations, consultez la rubrique Accéder au service.

Scénario 2 : Transférer vers les pods du cluster et les ECS externes

Prérequis

Scénario

Ce scénario montre comment transférer les requêtes à la fois vers les pods au sein d'un cluster et vers des instances ECS externes dans le même VPC. Créez un groupe de serveurs dans la console ALB ou via l'API, ajoutez-y l'instance ECS externe, puis référencez son ServerGroupID dans l'annotation Ingress. Cela crée un backend hybride, comme illustré dans la figure suivante.

image

Procédure

  1. Configurez ALB Ingress.

    Déployez le contenu suivant dans le fichier tea-ingress.yaml. Cela définit un service qui transfère les requêtes à la fois vers les Pods au sein du cluster et vers les instances ECS à l'extérieur du cluster.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: tea-ingress
      annotations:
        alb.ingress.kubernetes.io/actions.forward: |
           [{
               "type": "ForwardGroup",
               "ForwardConfig": {
                 "ServerGroups" : [{
                   "ServiceName": "tea-svc",
                   "Weight": 30,
                   "ServicePort": 80
                 },
                 {
                   "ServiceName": "coffee-svc",
                   "Weight": 20,
                   "ServicePort": 80
                 },
                 {
                   "ServerGroupID": "sgp-71aexb9y93ypo*****",
                   "Weight": 30
                 },
                 {
                   "ServerGroupID": "sgp-slygpbvm2cydo*****",
                   "Weight": 20
                 }]
               }
           }]
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          - path: /path
            pathType: Prefix
            backend:
              service:
                name: forward
                port:
                  name: use-annotation
  2. Accédez au service depuis la ligne de commande. Pour plus d'informations, consultez la rubrique Accéder au service.

Scénario 3 : Transférer vers les pods du cluster et les ECS interrégionaux

Prérequis

Scénario

Ce scénario illustre comment utiliser CEN pour établir une connexion interrégionale entre des VPC. Cela vous permet d'ajouter une instance ECS d'une autre région à un groupe de serveurs. En référençant son ServerGroupID dans l'Ingress, vous pouvez acheminer le trafic à la fois vers les pods du cluster et vers l'instance ECS interrégionale, comme illustré dans les figures suivantes.

image

Par exemple, un cluster ACK ou ACK Serverless et une instance ALB sont déployés dans VPC1 dans la région Chine (Chengdu). Vous pouvez utiliser une combinaison d'ALB et de CEN pour transférer les requêtes vers une instance ECS dans VPC2 dans la région Chine (Hangzhou).

image

Procédure

  1. Configurez CEN et créez une connexion VPC interrégionale.

    Pour plus d'informations, consultez la rubrique Attacher des serveurs interrégionaux à une instance ALB.

    Remarque

    Avec ALB Ingress, il n'est pas nécessaire de configurer les écouteurs de l'instance ALB dans la console ALB. Vous pouvez configurer les écouteurs via ALB Ingress à l'étape Étape3.

  2. Ajoutez l'instance ECS interrégionale au groupe de serveurs ALB.

    Pour plus d'informations, consultez la rubrique Ajouter ou supprimer des serveurs backend.

  3. Utilisez l'annotation alb.ingress.kubernetes.io/actions.<service-name> pour configurer une action de transfert et associer un groupe de serveurs existant. Lorsqu'un service est sollicité, cette action transfère les requêtes vers les Pods au sein du cluster et vers les serveurs ECS dans un VPC interrégional à l'extérieur du cluster.

    Déployez le contenu suivant dans le fichier tea-ingress.yaml.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: tea-ingress
      annotations:
        alb.ingress.kubernetes.io/actions.forward: |
           [{
               "type": "ForwardGroup",
               "ForwardConfig": {
                 "ServerGroups" :  [{
                   "ServiceName": "tea-svc",
                   "Weight": 30,
                   "ServicePort": 80
                 },
                 {
                   "ServiceName": "coffee-svc",
                   "Weight": 20,
                   "ServicePort": 80
                 },
                 {
                   "ServerGroupID": "sgp-71aexb9y93ypo*****",
                   "Weight": 30
                 },
                 {
                   "ServerGroupID": "sgp-slygpbvm2cydo*****",
                   "Weight": 20
                 }]
               }
           }]
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          - path: /path
            pathType: Prefix
            backend:
              service:
                name: forward
                port:
                  name: use-annotation

Scénario 4 : Transférer vers les pods du cluster et les serveurs sur site

Prérequis

Notes d'utilisation

Pour connaître les limitations relatives à l'association de serveurs sur site à une instance ALB, consultez la section Limitations.

Scénario

Ce scénario montre comment utiliser CEN, Express Connect et un VBR pour connecter votre centre de données sur site à Alibaba Cloud. Cela vous permet d'ajouter des serveurs sur site à un groupe de serveurs. En référençant le ServerGroupID dans l'Ingress, vous pouvez acheminer le trafic à la fois vers les pods du cluster et vers vos serveurs sur site, comme illustré dans les figures suivantes.

image

Par exemple, un cluster ACK ou ACK Serverless et une instance ALB sont déployés dans VPC1 dans la région Chine (Chengdu). Vous pouvez utiliser une combinaison d'ALB, CEN, d'un VBR et d'Express Connect pour transférer les requêtes vers des serveurs sur site dans la même région.

image

Procédure

  1. Configurez CEN pour connecter le VPC hébergeant l'instance ALB et le VBR au routeur de transit. Cela connecte votre centre de données sur site à Alibaba Cloud via le VBR. Pour plus d'informations, consultez la rubrique Attacher des serveurs sur site dans la même région à une instance ALB.

    Remarque

    Avec ALB Ingress, il n'est pas nécessaire de configurer les écouteurs de l'instance ALB dans la console ALB. Vous pouvez configurer les écouteurs via ALB Ingress à l'étape Étape2.

  2. Utilisez l'annotation alb.ingress.kubernetes.io/actions.<service-name> pour configurer une action de transfert et associer un groupe de serveurs existant spécifié. Cela transfère les requêtes vers les Pods au sein du cluster et vers les serveurs de centre de données Internet (IDC) sur site à l'extérieur du cluster.

    Déployez le contenu suivant dans le fichier tea-ingress.yaml.

    apiVersion: networking.k8s.io/v1
    kind: Ingress
    metadata:
      name: tea-ingress
      annotations:
        alb.ingress.kubernetes.io/actions.forward: |
           [{
               "type": "ForwardGroup",
               "ForwardConfig": {
                 "ServerGroups" :  [{
                   "ServiceName": "tea-svc",
                   "Weight": 30,
                   "ServicePort": 80
                 },
                 {
                   "ServiceName": "coffee-svc",
                   "Weight": 20,
                   "ServicePort": 80
                 },
                 {
                   "ServerGroupID": "sgp-ihydxb9y93ypo*****",
                   "Weight": 30
                 },
                 {
                   "ServerGroupID": "sgp-pd0ipbvm2cydo*****",
                   "Weight": 20
                 }]
               }
           }]
    spec:
      ingressClassName: alb
      rules:
       - host: demo.domain.ingress.top
         http:
          paths:
          - path: /path
            pathType: Prefix
            backend:
              service:
                name: forward
                port:
                  name: use-annotation