Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:Comment spécifier le protocole d'un service de manière standard ?

Dernière mise à jour :Sep 01, 2026

Service Mesh (ASM) peut rediriger tout trafic TCP, y compris HTTP, HTTPS, gRPC et TCP brut. Par défaut, ASM détecte automatiquement le trafic HTTP et HTTP/2 et traite le trafic non reconnu comme du TCP simple. Pour permettre à ASM d'identifier les protocoles et d'offrir des fonctionnalités supplémentaires, spécifiez le protocole de chaque service dans le cluster du plan de données.

Informations générales

ASM prend en charge les protocoles courants suivants : HTTP, HTTP/2, HTTPS, TCP, TLS, gRPC, gRPC-Web, Mongo, MySQL et Redis. Deux méthodes permettent de spécifier le protocole d'un service :

Méthode 1 : Définir le nom du port d'un service pour spécifier le protocole de service

Dans le champ ports d'un service, définissez le name de chaque port sur {Nom du protocole} ou {Nom du protocole}-{Suffixe personnalisé}. Dans l'exemple suivant, le port 9090 utilise le protocole gRPC ; son name est donc défini sur grpc-demo. Le port 3306 utilise le protocole MySQL ; son name est donc défini sur mysql :

kind: Service
metadata:
  name: myservice
spec:
  ports:
  - port: 9090
    name: grpc-demo
  - port: 3306
    name: mysql

Méthode 2 : Définir l'appProtocol d'un port de service pour spécifier le protocole de service

Pour utiliser cette méthode, votre instance ASM doit exécuter la version 1.8.6 ou ultérieure. Le cluster du plan de données doit être un cluster Alibaba Cloud Container Service for Kubernetes (ACK) ou un cluster Kubernetes open source exécutant Kubernetes 1.18 ou une version ultérieure. Définissez le champ appProtocol d'un port de service pour spécifier le protocole. L'exemple suivant spécifie HTTPS comme protocole de service :

kind: Service
metadata:
  name: myservice
spec:
  ports:
  - port: 3306
    name: database
    appProtocol: https
Remarque

ports.appProtocol est prioritaire sur ports.name.