Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Configuração do Ztunnel

Última atualização: Jul 10, 2026

No modo ambient do Service Mesh (ASM), o componente Ztunnel carrega sua configuração de runtime do ConfigMap ztunnel-config no namespace istio-system. O campo config.yaml nesse ConfigMap define as configurações de política de egress, observabilidade L7 e outros ajustes. O Ztunnel monitora o arquivo em busca de alterações e as aplica automaticamente, sem necessidade de reinicialização.

Configuração

O ConfigMap ztunnel-config tem a seguinte estrutura:

apiVersion: v1
kind: ConfigMap
metadata:
  name: ztunnel-config
  namespace: istio-system
data:
  ztunnel-config.yaml: |
    l7Config:
      enabled: false

    egressPolicies: [ ]

Campo

Tipo

Obrigatório

Descrição

l7Config

L7Config

Não

Configuração para observabilidade L7. Se não especificado, usa os valores padrão.

egressPolicies

EgressPolicy[]

Não

Regras de política de egress para tráfego destinado a services fora do cluster. Se vazio ou não especificado, todo o tráfego de egress é permitido por padrão.

Importante

As configurações de EgressPolicy aplicam-se apenas a services fora do cluster. Services registrados dentro do cluster, como os resources Service e ServiceEntry, não são afetados.

Exemplos de configuração

Exemplo 1: Ativar logs de acesso L7

Ative a geração de logs de acesso L7. O Ztunnel analisa o tráfego HTTP e TLS e gera logs de acesso.

l7Config:
  enabled: true

Exemplo 2: Negar acesso a blocos CIDR privados

Negue o acesso de todos os namespaces a blocos CIDR privados, sem ativar a observabilidade L7.

egressPolicies:
- matchCidrs:
  - 10.0.0.0/8
  - 172.16.0.0/12
  - 192.168.0.0/16
  policy: Deny

Exemplo 3: Ativar logs de acesso L7 e controle de egress em camadas

Combine logs de acesso L7 com controle de egress em camadas: permita passthrough para um namespace específico, negue acesso ao service de metadados em portas específicas e bloqueie o acesso a blocos CIDR privados.

l7Config:
  enabled: true
egressPolicies:
# Allow passthrough for the egress-gateway namespace to prevent the fallback rule from blocking the egress proxy itself.
- namespaces:
  - egress-gateway
  policy: Passthrough

# Deny access to the cloud provider's metadata service on ports 80 and 443.
- matchCidrs:
  - 169.254.169.254/32
  - fd00:ec2::254/128
  matchPorts:
  - 80
  - 443
  policy: Deny

# Deny access to private CIDR blocks.
- matchCidrs:
  - 10.0.0.0/8
  - 172.16.0.0/12
  - 192.168.0.0/16
  - fc00::/7
  policy: Deny

Detalhes dos campos

L7Config

Campo

Tipo

Obrigatório

Descrição

enabled

bool

Não

Ativa a observabilidade de tráfego L7. Padrão: false.

Nota
  • A observabilidade L7 suporta atualmente apenas a geração de logs de acesso. A coleta de métricas no nível de requisição e o rastreamento distribuído ainda não têm suporte.

  • Os protocolos suportados são HTTP e TLS.

  • Ativar este recurso pode adicionar uma sobrecarga de desempenho de aproximadamente 5%. Avalie os requisitos da sua carga de trabalho antes de ativá-lo.

Campos HTTP adicionais

Com a observabilidade L7 ativada, cada transação de requisição/resposta HTTP gera uma entrada de log de acesso separada com os seguintes campos adicionais:

Campo

Descrição

Valor de exemplo

method

Método da requisição HTTP

GET, POST, PUT, DELETE

path

Caminho da requisição

/api/v1/users

protocol

Versão do protocolo

HTTP/1.0, HTTP/1.1

host

Host da requisição

httpbin:8000

response_code

Código de status da resposta HTTP

200, 404, 503

user_agent

Cabeçalho de requisição User-Agent. Se ausente, o valor é "-".

curl/7.88.1

bytes_sent

Tamanho do corpo da requisição em bytes, por requisição

0

bytes_recv

Tamanho do corpo da resposta em bytes, por requisição

512

duration

Tempo total de uma única requisição, do envio ao recebimento da resposta

15ms

Campos TLS adicionais

Com a observabilidade L7 ativada para tráfego TLS (não HTTP sobre TLS), o Ztunnel analisa a mensagem de handshake ClientHello e adiciona os seguintes campos à entrada de log:

Campo

Descrição

Valor de exemplo

protocol

Valor fixo

TLS

tls.sni

Server Name Indication (SNI) da mensagem ClientHello

example.com

tls.alpn

Primeiro protocolo Application-Layer Protocol Negotiation (ALPN) da mensagem ClientHello. Se nenhum ALPN for especificado, o valor é "-".

h2, http/1.1

EgressPolicy

Cada regra EgressPolicy consiste em três condições de correspondência (namespaces, matchCidrs e matchPorts) e uma ação de policy. O Ztunnel avalia as regras de cima para baixo e aplica a primeira cujas condições correspondam integralmente.

Campo

Tipo

Obrigatório

Descrição

namespaces

string[]

Não

Lista de namespaces de cliente aos quais a regra se aplica. Se vazia, corresponde a todos os namespaces.

matchCidrs

string[]

Não

Lista de intervalos de endereços ip de destino no formato CIDR. Se vazia, corresponde a todos os endereços ip de destino. Para controlar o tráfego IPv4 e IPv6, configure os respectivos intervalos CIDR separadamente.

matchPorts

int[]

Não

Lista de portas de destino. Se vazia, corresponde a todas as portas.

policy

string

Sim

Ação a executar. Valores válidos:

  • Passthrough

  • Deny

EgressPolicyAction

Valores disponíveis para o campo policy:

Valor

Descrição

Passthrough

Encaminha o tráfego diretamente para o endereço ip de destino via TCP, ignorando o proxy do mesh.

Deny

Descarta a requisição imediatamente, impedindo que ela chegue ao destino.

Restrições de configuração

  • O Ztunnel avalia as regras em egressPolicies sequencialmente e aplica a primeira cujas condições namespaces, matchCidrs e matchPorts correspondam integralmente. As regras subsequentes são ignoradas.

  • O campo namespaces corresponde ao namespace do cliente (origem da requisição), não ao namespace do service de destino.

  • O campo matchCidrs corresponde ao endereço ip de destino, não ao nome de domínio. Para controlar o tráfego com base em nomes de domínio, registre o service externo como um ServiceEntry no mesh.

  • O campo matchPorts corresponde à porta de destino (porta remota da requisição), não à porta de origem do cliente.

  • Se uma requisição não corresponder a nenhuma regra em egressPolicies, a ação padrão é Passthrough.

  • O Ztunnel carrega automaticamente as alterações de configuração por meio de monitoramento de arquivos, sem exigir a reinicialização do pod. Se o formato da configuração for inválido, o Ztunnel mantém a última configuração válida conhecida.