Tous les produits
Search
Centre de documentation

Alibaba Cloud Service Mesh:LLMRoute CRD

Dernière mise à jour :Aug 11, 2026

LLMRoute est une définition de ressource personnalisée (CRD) Kubernetes fournie par Alibaba Cloud Service Mesh (ASM) pour le routage déclaratif du trafic LLM. Définissez des conditions de correspondance basées sur les en-têtes de requête, les libellés source ou les passerelles, puis acheminez le trafic vers des fournisseurs externes de grands modèles de langage (LLM) ou vers des pools d'inférence au sein du cluster.

Contrairement à un objet Istio standard VirtualService, l'objet LLMRoute est conçu spécifiquement pour les charges de travail LLM. Il prend nativement en charge le routage vers les hôtes des fournisseurs et les backends InferencePool, ce qui élimine le besoin de configurations complexes de service virtuel.

Pour une procédure détaillée complète, consultez la rubrique Routage du trafic : Utiliser ASM pour gérer le trafic LLM.

Exemple de configuration

Le manifeste suivant crée une ressource LLMRoute qui dirige le trafic des abonnés vers DashScope via une règle dédiée. Tout autre trafic est transmis au backend par défaut :

apiVersion: istio.alibabacloud.com/v1beta1
kind: LLMRoute
metadata:
  name: dashscope-route
spec:
  host: dashscope.aliyuncs.com      # Must be unique across LLM providers
  rules:
  - name: vip-route
    matches:
    - headers:
        user-type:
          exact: subscriber          # Match only subscriber requests
    backendRefs:
    - providerHost: dashscope.aliyuncs.com
  - backendRefs:                     # Default rule (no match conditions)
    - providerHost: dashscope.aliyuncs.com

Hiérarchie des types

Le diagramme suivant illustre les relations entre les différents types de CRD :

LLMRoute
 ├── host (String)
 ├── gateways ([]String)
 └── rules ([]LLMRule)
      ├── name (String)
      ├── matches ([]LLMRequestMatch)
      │    ├── Headers (map[String]StringMatch)
      │    ├── SourceLabels (map[String]String)
      │    └── Gateways ([]String)
      └── backendRefs ([]LLMBackendRef)
           ├── ProviderHost (String)               * mutually exclusive
           ├── Weight (Int32)
           └── BackendRef (BackendObjectReference)  * mutually exclusive
                ├── Group (String)
                ├── Kind (String)
                ├── Name (String)
                ├── Namespace (String)
                └── Port (Int32)

LLMRoute

Ressource de niveau supérieur qui associe un hôte de destination à un ensemble de règles de routage.

Champ Type Description
host String URL de l'hôte de destination. Doit être unique parmi les différents fournisseurs LLM.
gateways []String Passerelles auxquelles ces règles s'appliquent. Le comportement est identique à celui du champ gateways dans un objet Istio VirtualService.
rules []LLMRule Liste ordonnée des règles de routage.

LLMRule

Règle de routage unique qui associe des conditions de correspondance à des cibles de backend.

Apparaît dans : LLMRoute.rules

Champ Type Description
name String Nom de la règle. Utilisez un nom descriptif (par exemple, vip-route ou default).
matches []LLMRequestMatch Conditions qu'une requête doit satisfaire pour que cette règle s'applique.
backendRefs []LLMBackendRef Backends qui reçoivent le trafic correspondant à cette règle.

Exemple — Acheminer le trafic des abonnés vers un fournisseur spécifique :

rules:
- name: vip-route
  matches:
  - headers:
      user-type:
        exact: subscriber
  backendRefs:
  - providerHost: dashscope.aliyuncs.com

LLMRequestMatch

Conditions qu'une requête doit remplir.

Apparaît dans : LLMRule.matches

ChampTypeDescription
Headersmap[String]StringMatchEn-têtes HTTP à faire correspondre. Chaque entrée définit un nom d'en-tête et un critère de correspondance (exact, prefix ou regex).
SourceLabelsmap[String]StringLibellés de la charge de travail source auxquels les requêtes doivent correspondre.
Gateways[]StringPasserelles permettant de délimiter cette correspondance. Limite la règle au trafic entrant par des passerelles spécifiques.

LLMBackendRef

Référence un backend qui traite les requêtes correspondantes. Listez plusieurs backends avec des poids différents pour répartir le trafic.

Apparaît dans : LLMRule.backendRefs

Champ Type Description
ProviderHost String URL de l'hôte d'un fournisseur LLM externe (par exemple, dashscope.aliyuncs.com). Mutuellement exclusif avec BackendRef.
Weight Int32 Poids relatif du trafic. Lorsque plusieurs backends sont listés, le trafic est distribué proportionnellement selon le poids.
BackendRef BackendObjectReference Référence à un objet backend situé dans le cluster. Mutuellement exclusif avec ProviderHost.
Important

Définissez soit ProviderHost, soit BackendRef par entrée, mais pas les deux simultanément.

  • Utilisez ProviderHost pour router vers une API LLM externe.

  • Utilisez BackendRef pour router vers un objet InferencePool situé dans le cluster.

BackendObjectReference

Identifie un objet backend situé dans le cluster grâce à ses coordonnées Kubernetes.

Apparaît dans : LLMBackendRef.BackendRef

Champ Type Description
Group String Groupe auquel appartient l'objet backend.
Kind String Type de l'objet backend.
Name String Nom de la ressource.
Namespace String Espace de noms où réside la ressource.
Port Int32 Port exposé par le backend.
Remarque

Actuellement, seules les ressources InferencePool peuvent être référencées en tant qu'objets backend.

Étapes suivantes