Todos os produtos
Search
Central de documentação

Alibaba Cloud Service Mesh:Configure Sidecar Proxy usando anotações

Última atualização: Jun 28, 2026

O ASM permite modifique recursos e configurações do proxy Sidecar por meio de anotações. Este tópico descreve como configure o Sidecar Proxy adicionando anotações de recurso e utilizando o campo ProxyConfig.

Pré-requisitos

Adicionar anotações de recurso

O ASM permite modifique recursos do proxy Sidecar mediante a adição de anotações a um pod. Este exemplo demonstra como alterar a solicitação de memória do proxy Sidecar. Para detalhes sobre outras anotações, consulte Apêndice A: Anotações de recurso do Istio.

  1. Ative a injeção automática do proxy Sidecar mesh para o namespace padrão. Para mais informações, consulte Ative injeção automática.

  2. Implante uma aplicação no namespace padrão. Para mais informações, consulte Implantar uma aplicação em um cluster associado a uma instância do ASM.

  3. Modifique a solicitação mínima de memória para o proxy Sidecar.

    1. Faça login no ACK console. No painel de navegação à esquerda, clique em Clusters.

    2. Na página Clusters, clique em no nome do seu cluster. No painel de navegação à esquerda, clique em Workloads > Deployments.

    3. Na página Deployments, localize sua aplicação alvo e clique em More > View in YAML na coluna Actions.

    4. Na caixa de diálogo Edit YAML, adicione o seguinte conteúdo abaixo do parâmetro template e clique em Update.

      annotations:
        sidecar.istio.io/proxyMemory: 14Mi
      template:
          metadata:
            annotations:
              sidecar.istio.io/proxyMemory: 14Mi
            labels:
              app: details
              version: v1
  4. Verifique se a modificação de memória do proxy Sidecar foi bem-sucedida.

    1. No painel de navegação à esquerda da página de gerenciamento do cluster, escolha Workload > Pods.

    2. Na página Pods, localize o pod da sua aplicação alvo e clique em Details na coluna Actions.

    3. Na aba Containers, clique em istio-proxy.

      Observe que o istio-proxy solicita 14 Mi de memória. Ao clicar em, você visualize os detalhes do contêiner istio-proxy, incluindo o endereço do registro, a política de pull de imagem (IfNotPresent) e as variáveis de ambiente relacionadas ao Sidecar do Istio. Em Requested Resources, a configuração atual de memória aparece como Memory: 14Mi.

Defina o campo ProxyConfig

O ASM permite defina a configuração do proxy Sidecar modifique o campo ProxyConfig em um pod. Para mais informações sobre o uso do campo ProxyConfig, consulte Apêndice B: Campos do ProxyConfig.

Nota

proxy.istio.io/config aceita valores nos formatos yaml ou JSON.

O procedimento para defina o campo ProxyConfig é idêntico ao de adicionar anotações de recurso. Esta seção apresenta exemplos comuns de campos do ProxyConfig. Para os passos detalhados, consulte a seção anterior.

Exemplo 1: Defina a duração de drenagem de encerramento

Utilize o campo terminationDrainDuration para ajustar o tempo de drenagem no encerramento. Esse parâmetro define o tempo máximo que o Istio Proxy aguarda após o encerramento de um contêiner de aplicação.

Adicione o conteúdo abaixo ao arquivo yaml da sua aplicação para fazer o Istio Proxy aguardar até 3 segundos depois que o contêiner da aplicação for encerrado.

annotations:
  proxy.istio.io/config: |
    terminationDrainDuration: 3s
type: RollingUpdate
  template:
    metadata:
      annotations:
        proxy.istio.io/config: |
          terminationDrainDuration: 3s
      labels:
        app: details

Na página Pods, localize o pod da sua aplicação alvo e clique em Actions na coluna Details. Na aba Containers, clique em istio-proxy. Você verá que a duração de drenagem de encerramento está definida como 3 s. Após a configuração entrar em vigor, visualize os detalhes do contêiner istio-proxy na página de contêineres do Pod. Na variável de ambiente PROXY_CONFIG, o parâmetro terminationDrainDuration estará definido como 3s.

Exemplo 2: Defina a ordem de inicialização do Istio Proxy

Por padrão, o ASM define globalmente holdApplicationUntilProxyStarts como true. Isso garante que o Istio Proxy inicie com sucesso antes do contêiner da aplicação. Caso o contêiner da aplicação fique pronto antes do Istio Proxy, o pod não conseguirá aceitar tráfego.

holdApplicationUntilProxyStarts é uma opção de configuração que controla o comportamento de inicialização do contêiner da aplicação após a injeção do proxy Sidecar. Quando holdApplicationUntilProxyStarts está definido como true, o Istio CNI ou o injetor de Sidecar configure o pod do Kubernetes para impedir que o contêiner da aplicação inicie até que o contêiner do proxy esteja pronto e comece a receber tráfego. Isso assegura que todo o tráfego passe pelo proxy antes que o pod receba qualquer requisição, permitindo a aplicação imediata de políticas de gerenciamento de tráfego, monitoramento e segurança. Na maioria dos casos, defina holdApplicationUntilProxyStarts como true para garantir o tratamento adequado do tráfego. Configure como false apenas em cenários específicos onde isso for apropriado.

Na página Pods, localize o pod da sua aplicação alvo e clique em Actions na coluna Details. Clique em na aba Events. Você observará que o contêiner da aplicação inicia primeiro, seguido pelo Istio Proxy. Na aba Events do Pod, a lista de eventos do pod details-v1 mostra a sequência completa de inicialização dos contêineres, incluindo agendamento do Pod (Scheduled), pull de imagem (Pulled), criação do contêiner (Created) e início do contêiner (Started). Os contêineres iniciados aparecem nesta ordem: contêiner de inicialização istio-init, contêiner da aplicação details e contêiner Sidecar istio-proxy. Os eventos de contêiner Started são destacados, confirmando a ordem de inicialização imposta pela configuração holdApplicationUntilProxyStarts.

Apêndice A: Anotações de recurso do Istio

Anotação

Descrição

proxy.istio.io/config

Substitui a configuração deste proxy específico.

readiness.status.sidecar.istio.io/applicationPorts

Especifique a lista de portas expostas pelo contêiner da aplicação. Utilizada pela sonda de prontidão do proxy Sidecar para determinar quando o proxy está configurado e pronto para receber tráfego.

readiness.status.sidecar.istio.io/failureThreshold

Defina o limiar de falha para a sonda de prontidão do proxy Sidecar.

readiness.status.sidecar.istio.io/initialDelaySeconds

Determina o atraso inicial (em segundos) para a sonda de prontidão do proxy Sidecar.

readiness.status.sidecar.istio.io/periodSeconds

Estabelece o período (em segundos) entre verificações da sonda de prontidão do proxy Sidecar.

sidecar.istio.io/componentLogLevel

Configure o nível de log por componente para o proxy Sidecar.

sidecar.istio.io/enableCoreDump

Indica se o proxy Sidecar deve ative o core dump.

sidecar.istio.io/extraStatTags

Lista de tags adicionais extraídas da telemetria do Istio Proxy. Cada tag extra deve constar nesta lista.

sidecar.istio.io/inject

Defina se a injeção automática de Sidecar deve ser utilizada.

sidecar.istio.io/interceptionMode

Especifique o modo (REDIRECT ou TPROXY) usado para redirecionar o tráfego de entrada para o Envoy.

sidecar.istio.io/logLevel

Ajusta o nível de log geral do proxy Sidecar.

sidecar.istio.io/proxyCPU

Defina a solicitação de CPU para o proxy Sidecar.

sidecar.istio.io/proxyCPULimit

Estabelece o limite de CPU para o proxy Sidecar.

sidecar.istio.io/proxyMemory

Configure a solicitação de memória para o proxy Sidecar.

sidecar.istio.io/proxyMemoryLimit

Defina o limite de memória para o proxy Sidecar.

sidecar.istio.io/rewriteAppHTTPProbers

Redireciona as sondas HTTP de prontidão e vivacidade para o proxy Sidecar.

status.sidecar.istio.io/port

Especifique a porta de status HTTP do proxy Sidecar. Se definida como zero, o Sidecar não fornece status.

traffic.sidecar.istio.io/excludeInboundPorts

Lista separada por vírgulas de portas de entrada excluídas do redirecionamento para o proxy Sidecar. Aplica-se apenas quando todo o tráfego de entrada (ou seja, "*") é redirecionado.

traffic.sidecar.istio.io/excludeOutboundIPRanges

Lista separada por vírgulas de intervalos de IP no formato CIDR excluídos do redirecionamento. Aplica-se apenas quando todo o tráfego de saída (ou seja, "*") é redirecionado.

traffic.sidecar.istio.io/excludeOutboundPorts

Lista separada por vírgulas de portas (como strings) que proíbem o redirecionamento de tráfego de saída para o proxy Sidecar.

traffic.sidecar.istio.io/includeInboundPorts

Lista separada por vírgulas de portas de entrada cujo tráfego é redirecionado para o proxy Sidecar. Use o curinga "*" para configure o redirecionamento de todas as portas. Uma lista vazia desativa o redirecionamento para todo o tráfego de entrada.

traffic.sidecar.istio.io/includeOutboundIPRanges

Lista separada por vírgulas de intervalos de IP no formato CIDR redirecionados para o proxy Sidecar. Use o curinga "*" para redirecionar todo o tráfego de saída. Uma lista vazia desativa o redirecionamento para todo o tráfego de saída.

traffic.sidecar.istio.io/includeOutboundPorts

Lista separada por vírgulas de portas de tráfego de saída (como strings) cujo tráfego é redirecionado para o proxy Sidecar independentemente do IP de destino.

traffic.sidecar.istio.io/kubevirtInterfaces

Lista separada por vírgulas de interfaces virtuais cujo tráfego de entrada é tratado como tráfego de saída.

Apêndice B: Campos do ProxyConfig

Campo

Tipo

Descrição

configPath

String

Caminho para o diretório onde os arquivos de configuração gerados são armazenados. O agente de proxy gera a configuração real e a armazena neste diretório.

statsdUdpAddress

String

Endereço IP e porta do listener UDP do statsd.

proxyAdminPort

Int32

Porta na qual o Envoy escuta comandos administrativos. A porta padrão é 15000.

controlPlaneAuthPolicy

AuthenticationPolicy

AuthenticationPolicy define como o proxy se autentica ao se conectar ao plano de controle. O padrão é MUTUAL_TLS.

concurrency

Int32Value

Número de threads de trabalho a serem executadas. Se não definido, é determinado automaticamente com base nas solicitações e limites de CPU. Se definido como 0, todos os núcleos da máquina são utilizados. O padrão é 2 threads de trabalho.

interceptionMode

InboundInterceptionMode

Defina o modo de redirecionamento do tráfego de entrada para o proxy Sidecar.

tracing

Tracing

Configuração de rastreamento utilizada pelo proxy Sidecar.

sds

SDS

Configuração do Secret Discovery Service (SDS) usada pelo proxy.

proxyMetadata

Map<string, string>

Variáveis de ambiente adicionais para o proxy. Nomes que começam com ISTIO_META_ são incluídos na configuração de bootstrap gerada e enviados ao servidor XDS.

statusPort

Map<string, string>

Porta administrativa (por exemplo, sonda de prontidão) na qual o proxy escuta. O padrão é a porta 15020.

terminationDrainDuration

Duration

Tempo permitido para que as conexões sejam concluídas durante o desligamento do proxy. Ao receber SIGTERM ou SIGINT, o istio-agent instrui o proxy Sidecar ativo a iniciar a drenagem — bloqueando novas conexões e permitindo que as existentes sejam concluídas. Em seguida, ele aguarda pelo tempo definido em termination_drain_duration antes de encerrar todos os processos ativos restantes do Envoy. Se não definido, o valor padrão de 5s é aplicado.

holdApplicationUntilProxyStarts

BoolValue

Sinalizador booleano para ative ou desativar o comportamento holdApplicationUntilProxyStarts. Este recurso adiciona ganchos para atrasar a inicialização da aplicação até que o proxy do pod esteja pronto para aceitar tráfego, mitigando certas condições de corrida durante a inicialização.