Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Connect to Consul service registries

Dernière mise à jour :Aug 11, 2026

Service Mesh ASM prend en charge l'intégration avec un registre de services Consul pour faciliter la migration de vos microservices vers ASM. Cette rubrique décrit comment intégrer un registre de services Consul à ASM.

Prérequis

  • Votre instance ASM doit exécuter la version v1.7.5.31-g28ec7490-aliyun ou ultérieure.

  • Consul est déployé en tant que registre de services. Pour plus d'informations, consultez Installing Consul on Kubernetes.

  • Les pods du cluster Kubernetes ajouté au Service Mesh doivent pouvoir accéder au point de terminaison du serveur Consul. Par exemple, le serveur Consul est installé dans le même cluster Kubernetes et expose un point de terminaison public, ou fournit un point de terminaison interne accessible.

  • Les exemples de services, y compris Web, Web2 et le service Consul intégré, doivent être enregistrés dans Consul. Pour plus d'informations, consultez Services.

Contexte

ASM propose une fonctionnalité permettant de se connecter à un registre de services Consul. Elle facilite la migration des microservices vers ASM en autorisant les services internes au Service Mesh à appeler des services externes au Service Mesh. ASM n'enregistre pas automatiquement les services du Service Mesh dans le registre de services Consul. Pour permettre aux services externes au Service Mesh d'appeler les services internes au maillage de services, vous devez enregistrer manuellement les services du Service Mesh dans le registre de services Consul.

Étape 1 : Obtention de la configuration ASM-se-syncer

  1. Obtenez l'ID de l'instance ASM.

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

    2. Sur la page Mesh Management, repérez l'ID de l'instance cible dans la colonne Name/ID.

  2. Obtenez l'ID de région du cluster.

    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 Cluster Information.

    3. Dans la section Basic Information, consultez la région du cluster. Par exemple, si la région est China (Beijing), l'ID de région est cn-beijing. Pour plus d'informations sur les régions, consultez Régions prises en charge.

  3. Obtenez un AccessKey ID et un AccessKey secret. Pour plus d'informations, consultez Créer une paire de clés AccessKey.

Étape 2 : Installation d'ASM-se-syncer

  1. Connectez-vous à votre cluster à l'aide de kubectl. Pour plus d'informations, consultez Obtenir le fichier kubeconfig d'un cluster et utiliser kubectl pour s'y connecter.

  2. Installez Helm sur votre machine locale. Pour plus d'informations, consultez la documentation Helm.

    Remarque

    Après vous être connecté au cluster avec kubectl, le client Helm utilise automatiquement le fichier KubeConfig pour se connecter au cluster.

  3. Téléchargez et décompressez le chart Helm asm-se-syncer sur votre machine locale.

  4. Accédez au dossier asm-se-syncer et localisez le fichier values.yaml. Dans le fichier values.yaml, ajoutez l'ID ASM, l'ID de région du cluster, l'AccessKey ID et l'AccessKey secret, modifiez les informations suivantes relatives au service Consul, puis enregistrez le fichier values.yaml.

    [
      {
        "name": "consul-test",
        "prefix": "consul-",
        "type": "consul",
        "endpoint": "http://consul-server.consul:8500",
        "toNamespace": "default"
      }
    ]
    |
    **Paramètre**
    |
    **Description**
    | | --- | --- | |
    `name`
    |
    Nom unique du registre de services.
    | |
    `prefix`
    |
    Préfixe des noms des ressources service entry générées.
    | |
    `type`
    |
    Type du registre de services. La seule valeur prise en charge est `consul`.
    | |
    `endpoint`
    |
    Adresse du point de terminaison du registre de services.
    | |
    `toNamespace`
    |
    Namespace dans lequel les ressources service entry sont créées. Si le namespace n'existe pas, il est créé automatiquement.
    |

    Pour vous connecter à plusieurs registres de services Consul, ajoutez la configuration de chaque registre au fichier values.yaml. Enregistrez ensuite le fichier values.yaml.

    [
      {
        "name": "consul-test01",
        "prefix": "consul01-",
        "type": "consul",
        "endpoint": "http://consul-server01.consul:8500",
        "toNamespace": "default"
      },
      {
        "name": "consul-test02",
        "prefix": "consul02-",
        "type": "consul",
        "endpoint": "http://consul-server02.consul:8500",
        "toNamespace": "default"
      }
    ]
























  5. Exécutez la commande suivante pour installer ASM-se-syncer.

    helm install -f values.yaml se-syncer ./

    Une fois ASM-se-syncer installé, ASM se connecte automatiquement au registre de services Consul, installe le composant asm-serviceregistry-syncer dans le cluster ACK et synchronise les services de Consul vers le Service Mesh.

Étape 3 : Vérification de l'intégration de Consul

  1. Vérifiez l'état d'installation du composant ASM.

    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, recherchez le composant nommé asm-serviceregistry-syncer.

      Si le composant est dans l'état prêt 1/1, il fonctionne correctement.

  2. Vérifiez l'état de synchronisation des ressources service entry.

    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 Cluster & Workload Management > External Service(ServiceEntry).

    3. Sur la page External Service(ServiceEntry), vérifiez que les services enregistrés dans Consul ont été synchronisés avec le Service Mesh.

      Remarque
      • Sur la page External Service(ServiceEntry), les noms des services Consul suivent le format : [prefix]-[nom du service dans Consul]. Le préfixe correspond à la valeur spécifiée pour le paramètre prefix.

      • Sur la page External Service(ServiceEntry), le namespace des services Consul correspond à la valeur du paramètre toNamespace que vous avez spécifié.

FAQ

Comment appeler un service synchronisé ?

Lorsque le cluster du service appelant fait partie du plan de données du maillage de services, vous pouvez appeler le service synchronisé de l'une des manières suivantes :

  • Méthode 1 : Activez le proxy DNS et appelez le service en utilisant le nom d'hôte et le port indiqués dans le champ hosts de la service entry.

    1. Activez le proxy DNS. Pour plus d'informations, consultez Utiliser la fonctionnalité de proxy DNS dans une instance ASM.

    2. Obtenez le nom d'hôte et le port pour appeler le service.

      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 Cluster & Workload Management > External Service(ServiceEntry).

      3. Sur la page External Service(ServiceEntry), recherchez la service entry cible et cliquez sur View YAML dans la colonne Operator.

        Dans la boîte de dialogue Edit, récupérez le nom d'hôte et le port, puis utilisez http://<nom d'hôte>:<port> pour appeler le service. Dans le fichier YAML ServiceEntry, l'élément de configuration clé hosts est défini sur pro-qf-test et le numéro de port (number) est défini sur 80.

        - apiVersion: istio.alibabacloud.com,
              controller: true
              kind: ASMServiceRegistry
              name: default
              uid: 5d301b4e-39bc-46b5-xxx
              resourceVersion: '432158678'
              selfLink: >-
                /apis/networking.istio.io/v1beta1/naxxx
              uid: e446b651-be82-4e13-99xxx
          spec:
            addresses:
              - 172.30.xxx
            endpoints:
              - address: 172.xxx
                ports:
                  http: 80
            hosts:
              - pro-qf-test
            ports:
              - name: http
                number: 80
                protocol: HTTP
            resolution: STATIC
  • Méthode 2 : Appelez le service en utilisant l'adresse indiquée dans le champ endpoints de la page External Service(ServiceEntry).

    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 Cluster & Workload Management > External Service(ServiceEntry).

    3. Sur la page External Service(ServiceEntry), recherchez la service entry cible et cliquez sur View YAML dans la colonne Operator.

      Dans la boîte de dialogue Edit, repérez l'adresse. Appelez le service en utilisant le format http://<adresse>. Dans le fichier YAML, l'élément de configuration clé est le champ address sous spec.endpoints.

      - apiVersion: istio.alibacloud.com
            controller: true
            kind: ASMServiceRegistry
            name: default
            uid: 5d301b4e-39bc-46b5-xxx
            resourceVersion: '432158678'
            selfLink: >-
              /apis/networking.istio.io/v1beta1/naxxx
            uid: e446b651-be82-4e13-99xxx
        spec:
          addresses:
            - 172.30.xxx
          endpoints:
            - address: 172.xxx
              ports:
                http: 80
          hosts:
            - pro-qf-test
          ports:
            - name: http
              number: 80
              protocol: HTTP
          resolution: STATIC

Comment fonctionne la synchronisation des services ?

Les services enregistrés dans Consul sont automatiquement synchronisés vers Istio en tant que ressources service entry. Lorsqu'un service est supprimé ou mis à jour dans Consul, la modification est automatiquement synchronisée avec la service entry correspondante dans Istio.

Comment désactiver l'intégration de Consul ?

Exécutez la commande suivante pour supprimer les ressources de synchronisation Consul.

helm uninstall se-syncer