Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:LLMRoute CRD

Última atualização: Jun 28, 2026

O LLMRoute é uma Custom Resource Definition (CRD) do Kubernetes fornecida pelo Alibaba Cloud Service Mesh (ASM) para roteamento declarativo de tráfego de LLM. Defina condições de correspondência com base em cabeçalhos de requisição, rótulos de source ou gateways e direcione o tráfego para provedores externos de Large Language Model (LLM) ou pools de inferência no cluster.

Ao contrário do VirtualService padrão do Istio, o LLMRoute foi desenvolvido especificamente para cargas de trabalho de LLM. Ele oferece suporte nativo a roteamento por host de provedor e backends InferencePool, eliminando a necessidade de configurações complexas de virtual service.

Para obter um tutorial completo, consulte Roteamento de tráfego: Use o ASM para gerenciar tráfego de LLM.

Configuração de exemplo

O manifesto a seguir cria um LLMRoute que envia o tráfego de assinantes para o DashScope por meio de uma regra dedicada. Todo o tráfego restante segue para o backend padrão:

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

Hierarquia de tipos

O diagrama a seguir ilustra a relação entre os tipos do 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

Recurso de nível superior que associa um host de destino a um conjunto de regras de roteamento.

Campo

Tipo

Descrição

host

String

URL do host de destino. Deve ser única entre os diferentes provedores de LLM.

gateways

[]String

Gateways aos quais essas regras se aplicam. O comportamento é idêntico ao campo gateways em um VirtualService do Istio.

rules

[]LLMRule

Lista ordenada de regras de roteamento.

LLMRule

Regra de roteamento individual que combina condições de correspondência com backends de destino.

Presente em: LLMRoute.rules

Campo

Tipo

Descrição

name

String

Nome da regra. Use um nome descritivo (por exemplo, vip-route ou default).

matches

[]LLMRequestMatch

Condições que a requisição deve atender para aplicar esta regra.

backendRefs

[]LLMBackendRef

Backends que recebem o tráfego correspondente a esta regra.

Exemplo -- rotear tráfego de assinantes para um provedor específico:

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

LLMRequestMatch

Condições obrigatórias para uma requisição.

Presente em: LLMRule.matches

CampoTipoDescrição
Headersmap[String]StringMatchCabeçalhos HTTP para correspondência. Cada entrada define um nome de cabeçalho e um critério de correspondência (exact, prefix ou regex).
SourceLabelsmap[String]StringRótulos na carga de trabalho de source correspondentes às requisições.
Gateways[]StringGateways que definem o escopo desta correspondência. Restringe a regra ao tráfego proveniente de gateways específicos.

LLMBackendRef

Referencia um backend que atende às requisições correspondentes. Liste vários backends com pesos diferentes para dividir o tráfego.

Presente em: LLMRule.backendRefs

Campo

Tipo

Descrição

ProviderHost

String

URL do host de um provedor externo de LLM (por exemplo, dashscope.aliyuncs.com). Mutuamente exclusivo com BackendRef.

Weight

Int32

Peso relativo do tráfego. Com múltiplos backends listados, o sistema distribui o tráfego proporcionalmente ao peso.

BackendRef

BackendObjectReference

Referência a um objeto de backend no cluster. Mutuamente exclusivo com ProviderHost.

Importante

Defina ProviderHost ou BackendRef por entrada — nunca ambos.

  • Use ProviderHost para rotear para uma API externa de LLM.

  • Use BackendRef para rotear para um InferencePool no cluster.

BackendObjectReference

Identifica um objeto de backend no cluster pelas coordenadas do Kubernetes.

Presente em: LLMBackendRef.BackendRef

Campo

Tipo

Descrição

Group

String

Grupo ao qual o objeto de backend pertence.

Kind

String

Tipo do objeto de backend.

Name

String

Nome do recurso.

Namespace

String

Namespace onde o recurso reside.

Port

Int32

Porta exposta pelo backend.

Nota

Atualmente, apenas recursos InferencePool podem ser referenciados como objetos de backend.

Próximos passos