Todos los productos
Search
Centro de documentos

Alibaba Cloud Service Mesh:LLMRoute CRD

Última actualización: Sep 05, 2026

LLMRoute es una definición de recurso personalizado (CRD) de Kubernetes que proporciona Alibaba Cloud Service Mesh (ASM) para el enrutamiento declarativo de tráfico de LLM. Defina condiciones de coincidencia basadas en encabezados de solicitud, etiquetas de origen o gateways y, a continuación, enrute el tráfico hacia proveedores externos de modelos grandes de lenguaje (LLM) o hacia pools de inference dentro del clúster.

A diferencia de un VirtualService estándar de Istio, LLMRoute está diseñado específicamente para cargas de trabajo de LLM. Admite de forma nativa el enrutamiento por host de proveedor y backends de InferencePool, lo que elimina la necesidad de configuraciones complejas de servicios virtuales.

Para consultar una guía completa, consulte Traffic routing: Use ASM to manage LLM traffic.

Configuración de ejemplo

El siguiente manifiesto crea un LLMRoute que envía el tráfico de suscriptores a DashScope mediante una regla dedicada. El resto del tráfico se dirige al backend predeterminado:

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

Jerarquía de tipos

El siguiente diagrama muestra cómo se relacionan los tipos del CRD entre sí:

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

Recurso de nivel superior que vincula un host de destino con un conjunto de reglas de enrutamiento.

Campo

Tipo

Descripción

host

String

URL del host de destino. Debe ser única para cada proveedor de LLM.

gateways

[]String

Gateways a los que se aplican estas reglas. Se comporta igual que gateways en un VirtualService de Istio.

rules

[]LLMRule

Lista ordenada de reglas de enrutamiento.

LLMRule

Regla de enrutamiento individual que asocia condiciones de coincidencia con backends de destino.

Aparece en: LLMRoute.rules

Campo

Tipo

Descripción

name

String

Nombre de la regla. Utilice un nombre descriptivo (por ejemplo, vip-route o default).

matches

[]LLMRequestMatch

Condiciones que debe cumplir una solicitud para que se aplique esta regla.

backendRefs

[]LLMBackendRef

Backends que reciben el tráfico coincidente con esta regla.

Ejemplo: enrutar tráfico de suscriptores a un proveedor específico:

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

LLMRequestMatch

Condiciones que debe cumplir una solicitud.

Aparece en: LLMRule.matches

CampoTipoDescripción
Headersmap[String]StringMatchEncabezados HTTP con los que se compara. Cada entrada define un nombre de encabezado y un criterio de coincidencia (exact, prefix o regex).
SourceLabelsmap[String]StringEtiquetas en la carga de trabajo de origen con las que deben coincidir las solicitudes.
Gateways[]StringGateways que limitan el alcance de esta coincidencia. Restringe la regla al tráfico que ingresa a través de gateways específicos.

LLMBackendRef

Hace referencia a un backend que atiende las solicitudes coincidentes. Liste varios backends con distintos pesos para dividir el tráfico.

Aparece en: LLMRule.backendRefs

Campo

Tipo

Descripción

ProviderHost

String

URL del host de un proveedor externo de LLM (por ejemplo, dashscope.aliyuncs.com). Es mutuamente excluyente con BackendRef.

Weight

Int32

Peso relativo del tráfico. Cuando se listan varios backends, el tráfico se distribuye proporcionalmente según el peso.

BackendRef

BackendObjectReference

Referencia a un objeto de backend dentro del clúster. Es mutuamente excluyente con ProviderHost.

Importante

Establezca ProviderHost o BackendRef por entrada, pero no ambos.

  • Utilice ProviderHost para enrutar hacia una API externa de LLM.

  • Utilice BackendRef para enrutar hacia un InferencePool dentro del clúster.

BackendObjectReference

Identifica un objeto de backend dentro del clúster mediante sus coordenadas de Kubernetes.

Aparece en: LLMBackendRef.BackendRef

Campo

Tipo

Descripción

Group

String

Grupo al que pertenece el objeto de backend.

Kind

String

Tipo del objeto de backend.

Name

String

Nombre del recurso.

Namespace

String

Namespace donde reside el recurso.

Port

Int32

Puerto expuesto por el backend.

Nota

Actualmente, solo los recursos InferencePool pueden referenciarse como objetos de backend.

Pasos siguientes