Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Terway network plugin

Última atualização: Jun 27, 2026

O Terway é um plug-in CNI open-source para VPC da Alibaba Cloud compatível com políticas de rede padrão do Kubernetes para definir regras de acesso entre containers.

Antes de começar

Leia este tópico para entender o funcionamento do Terway antes de usar o plug-in de rede de container Terway.

Primeiro, leia Visão geral de rede e Plug-ins CNI Terway vs. Flannel para compreender os conceitos básicos dos plug-ins de rede de container e escolha um deles.

Planeje os blocos CIDR antes de criar um cluster. Para mais informações, consulte Planejamento de rede para cluster gerenciado ACK.

Faturamento

O plug-in Terway é gratuito. No entanto, o Terway implanta pods em cada nó, consumindo uma pequena quantidade de recursos. Para detalhes sobre o faturamento dos serviços de nuvem do ACK, consulte Custos de recursos de nuvem.

Importante

O arquivo de configuração do Terway eni-config contém parâmetros críticos do sistema. Modificar ou excluir campos não explicitamente permitidos para configuração pelo usuário pode causar interrupções na rede ou impedir a criação de pods. Para obter informações sobre os parâmetros personalizáveis, consulte Personalizar parâmetros do Terway.

O componente Terway utiliza CRDs para rastrear o status dos recursos. Não modifique manualmente esses recursos do sistema. Alterações não autorizadas podem causar interrupções na rede ou impedir a criação de pods.

Nome do recurso

Tipo de recurso

Operações de CRD pelo usuário

Operações de CR pelo usuário

podnetworkings.network.alibabacloud.com

Recursos do usuário

Não

Sim

podenis.network.alibabacloud.com

Recursos do sistema

Não

Não

networkinterfaces.network.alibabacloud.com

Recursos do sistema

Não

Não

nodes.network.alibabacloud.com

Recursos do sistema

Não

Não

noderuntimes.network.alibabacloud.com

Recursos do sistema

Não

Não

*.cilium.io

Recursos do sistema

Não

Não

*.crd.projectcalico.org

Recursos do sistema

Não

Não

Número máximo de pods por nó

Ao usar o plug-in de rede Terway, o número máximo de pods que um nó pode executar depende da quantidade de interfaces de rede elásticas (ENIs) suportadas pelo tipo de instância ECS correspondente. O Terway impõe um limite mínimo de pods que cada nó deve atender para ingressar no cluster.

Modo Terway

Limite de pods

Exemplo

Contagem de pods com IP estático

modo ENI compartilhada

(Número de ENIs suportadas pelo tipo de instância ECS - 1) × Número de endereços IP privados por ENI.

(EniQuantity - 1) × EniPrivateIpAddressQuantity

Nota

Um nó deve suportar mais de 11 pods para ingressar no cluster.

Por exemplo, considere uma instância do tipo ecs.g7.4xlarge da família de instâncias de uso geral g7. Esse tipo de instância suporta 8 ENIs, e cada ENI suporta 30 endereços IP privados. O número máximo de pods por nó é calculado como (8 - 1) × 30 = 210 pods.

Importante

O número máximo de pods que utilizam as ENIs do nó é fixo conforme o tipo de instância. Modificar o parâmetro maxPods afeta apenas o limite para pods que usam hostNetwork.

0

modo ENI compartilhada + Trunk ENI

Máximo de pods Trunk por nó:

Total de interfaces de rede para o tipo de instância ECS - Número de ENIs suportadas pelo tipo de instância ECS.

EniTotalQuantity - EniQuantity

modo ENI exclusiva

Instância ECS:

Número de ENIs suportadas pelo tipo de instância ECS - 1.

EniQuantity - 1

Instância Lingjun:

Cota de ENI Lingjun - 1.

LeniQuota - 1

Nota

Um nó deve suportar mais de 6 pods para ingressar no cluster.

Por exemplo, uma instância ECS do tipo ecs.g7.4xlarge suporta 8 ENIs. O número máximo de pods por nó é (8 - 1) = 7 pods.

Número de ENIs suportadas pelo tipo de instância ECS - 1.

EniQuantity - 1

Nota

Instâncias Lingjun não são suportadas.

Importante

No Terway v1.11.0 e versões posteriores, você pode selecionar o modo ENI exclusiva ou o modo ENI compartilhada para um pool de nós. Pools de nós que utilizam modos diferentes podem coexistir no mesmo cluster. Para mais informações, consulte Notas de versão do Terway.

Verificar contagem de pods suportados

  • Método 1: Ao criar um pool de nós, verifique a coluna Terway Compatibility (Supported Pods) na seção Instance Type para visualizar o número de pods suportados.

  • Método 2: Obtenha os valores necessários usando um dos métodos abaixo e calcule manualmente o número de pods que o tipo de instância ECS suporta.

    • Consulte a documentação da família de instâncias para encontrar o número máximo de interfaces de rede elásticas que uma instância ECS suporta.

    • Use o OpenAPI Explorer. Especifique o tipo de instância de um nó existente no parâmetro InstanceTypes e clique em Initiate Call. Na resposta, EniQuantity representa o número máximo de interfaces de rede elásticas suportadas pelo tipo de instância, EniPrivateIpAddressQuantity indica a quantidade de endereços IP privados por ENI e EniTotalQuantity corresponde ao total de interfaces de rede suportadas pelo tipo de instância.

Instalar o plug-in de rede Terway

Instale o plug-in de rede Terway durante a criação do cluster. Não é possível alterar o tipo de plug-in de rede de um cluster existente.

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

  2. Na página Clusters, clique em Create Kubernetes Cluster.

  3. Configure os principais parâmetros de rede para o plug-in de rede Terway. Para outros parâmetros de criação de cluster, consulte Criar um cluster gerenciado ACK.

    Parâmetro

    Descrição

    IPv6 Dual-stack

    Selecione Enable para criar um cluster dual-stack compatível com endereços IPv4 e IPv6.

    Suportado apenas para Kubernetes 1.22 ou posterior, exclusivamente com Terway, e não pode ser usado em conjunto com eRDMA.

    O cluster suporta os protocolos IPv4 e IPv6, mas a comunicação entre os nós de trabalho e o plano de controle ainda utiliza endereços IPv4. Garanta o seguinte:

    • A VPC do cluster deve suportar dual-stack IPv6.

    • Ao usar o Terway no modo ENI compartilhada, o tipo de instância do nó deve suportar IPv6 e ter o mesmo número de endereços IPv4 e IPv6 atribuíveis.

    VPC

    A VPC destinada ao cluster.

    Network Plug-in

    Selecione Terway.

    DataPath V2

    Selecione esta opção para ativar o modo de aceleração DataPath V2. Neste modo, o Terway utiliza um caminho de encaminhamento de tráfego diferente do modo padrão de ENI compartilhada para fornecer aceleração de rede. Para mais informações, consulte Melhores práticas para Terway com Datapath V2.

    Nota
    • Para novos clusters executando Kubernetes 1.34 ou posterior com DataPath V2, o kube-proxy não é mais executado nos nós do Terway.

    • O DataPath V2 é suportado apenas nas seguintes imagens de sistema operacional e requer kernel Linux 5,10 ou superior:

      • Alibaba Cloud Linux 4

      • Alibaba Cloud Linux 3 (todas as versões)

      • ContainerOS

      • Ubuntu

    • Quando ativado, estima-se que o container de política do Terway em cada nó de trabalho consuma 0,5 núcleos de CPU e 512 MB de memória adicionais. Esse consumo de recursos aumenta conforme o tamanho do cluster. Na configuração padrão do Terway, o limite de CPU para o container de política é de 1 núcleo, sem limite de memória.

    • No modo DataPath V2, as informações de rastreamento de conexões de rede de container (conntrack) são armazenadas em um mapa eBPF. Assim como o mecanismo conntrack nativo do Linux, o conntrack eBPF utiliza um algoritmo LRU (Least Recently Used). Quando o mapa está cheio, os registros de conexão mais antigos são removidos para liberar espaço para novos. Configure os parâmetros relevantes com base na sua carga de trabalho para evitar a ultrapassagem do limite de conexões. Para mais informações, consulte Otimizar configurações de conntrack no modo Terway.

    Suporte a NetworkPolicy

    Selecione esta opção para ativar o NetworkPolicy nativo do Kubernetes.

    Nota
    • A partir do Terway v1.9.2, o NetworkPolicy para novos clusters é implementado via eBPF, e o recurso DataPath V2 é ativado para o plano de dados.

    • O recurso que permite gerenciar recursos NetworkPolicy no console está em preview público. Para usar esse recurso, envie uma solicitação no Quota Center console.

    Support for ENI Trunking

    Selecione esta opção para ativar o modo Trunk ENI. Isso permite atribuir um endereço IP estático, um vSwitch independente e um grupo de segurança separado para cada pod.

    Nota
    • Você pode ativar o Trunk ENI para clusters gerenciados ACK sem enviar uma solicitação. Caso deseje ativar o Trunk ENI para um cluster dedicado ACK, envie primeiro uma solicitação no Quota Center console.

    • Para clusters gerenciados ACK recém-criados que executam Kubernetes 1.31 ou posterior, o recurso Trunk ENI é ativado automaticamente. Não é necessário selecioná-lo manualmente.

    vSwitch

    Os vSwitches para os nós do cluster. Para garantir alta disponibilidade, recomenda-se selecionar vSwitches de pelo menos três zonas de disponibilidade diferentes.

    Pod vSwitch

    Os vSwitches destinados aos pods. Podem ser os mesmos utilizados pelos nós.

    Service CIDR

    O bloco CIDR para Serviços do Kubernetes. Este bloco CIDR não pode se sobrepor ao bloco CIDR do nó nem ao bloco CIDR do pod.

    IPv6 Service CIDR Block

    Este parâmetro só pode ser configurado após a ativação do dual-stack IPv6.

Modos de operação do Terway

Este tópico compara os modos do Terway e explica seu funcionamento.

Modo ENI compartilhada e modo ENI exclusiva

O Terway oferece dois modos para atribuição de endereços IP aos pods: modo ENI compartilhada e modo ENI exclusiva.

Importante
  • No Terway v1.11.0 e versões posteriores, é possível selecionar o modo ENI compartilhada ou o modo ENI exclusiva para um pool de nós. Essa opção não está mais disponível no nível do cluster durante a criação.

  • O sistema operacional (SO) do nó utiliza a ENI primária. O Terway gerencia as ENIs restantes para configurar a rede dos pods. Não configure essas ENIs manualmente. Se precisar gerenciar algumas ENIs por conta própria, consulte Configurar um filtro para ENIs.

Item

Modo ENI compartilhada

Modo ENI exclusiva

Gerenciamento de endereços IP dos pods

Alocação de ENI

Vários pods compartilham uma única ENI.

Cada pod recebe uma ENI dedicada em seu nó.

Densidade de implantação de pods

Alta densidade, suportando centenas de pods em um único nó.

Baixa densidade. Um nó típico suporta apenas alguns pods.

Arquitetura de rede

imageimage

Caminho de dados

Quando um pod se comunica com outros pods ou é acessado como backend de Serviço, o tráfego passa pela pilha de rede do nó.

Quando um pod acessa um Serviço, o tráfego ainda passa pela pilha de rede do SO do nó. Contudo, na comunicação pod-a-pod ou quando um pod atua como backend de Serviço, o tráfego ignora a pilha de rede do nó ao usar diretamente a ENI anexada, melhorando o desempenho.

Cenários

Cargas de trabalho gerais do Kubernetes.

Oferece desempenho de rede comparável ao de máquinas virtuais, sendo ideal para aplicações que exigem alto throughput de rede ou baixa latência.

Aceleração de rede

Suporta DataPath V2 para aceleração de rede. Para mais informações, consulte Aceleração de rede.

Aceleração de rede não é suportada. Este modo já oferece excelente desempenho de rede, pois cada pod possui uma ENI dedicada.

Suporte a NetworkPolicy

Suporta NetworkPolicy nativo do Kubernetes para controle de acesso baseado em políticas. Para mais informações, consulte Suporte a NetworkPolicy.

Não suporta NetworkPolicy.

Configuração de rede no nível do nó

Suportado. Para mais informações, consulte Configuração de rede no nível do nó.

Suportado. Para mais informações, consulte Configuração de rede no nível do nó.

Controle de acesso

Com o Trunk ENI ativado, é possível configurar um endereço IP estático, um vSwitch separado e um grupo de segurança distinto para cada pod. Para mais informações, consulte Configurar endereço IP estático, vSwitch separado e grupo de segurança para um pod.

Permite configurar um endereço IP estático, um vSwitch separado e um grupo de segurança distinto para cada pod.

Aceleração de rede

No modo ENI compartilhada, é possível ativar a aceleração de rede. Isso utiliza um caminho de encaminhamento de tráfego diferente do modo padrão para alcançar maior desempenho. Atualmente, o Terway suporta o modo de aceleração DataPath V2. A seção a seguir descreve seus recursos.

Importante
  • O DataPath V2 é uma versão aprimorada do antigo modo de aceleração IPvlan+eBPF. No Terway V1.8.0 e versões posteriores, o DataPath V2 é o único modo de aceleração disponível ao criar um cluster e instalar o plug-in Terway.

  • Os modos de aceleração DataPath V2 e IPvlan+eBPF aplicam-se apenas a pools de nós no modo ENI compartilhada e não afetam pools de nós no modo ENI exclusiva.

Recursos do DataPath V2

Descrição

Versões aplicáveis do Terway

Clusters criados com Terway v1.8.0 ou posterior.

Arquitetura de rede

image

Caminho de dados acelerado

  • Quando um pod acessa um Serviço, o eBPF resolve o endereço IP do Serviço para o endereço IP de um pod backend.

  • Na comunicação entre um pod e outro pod em um nó diferente, o eBPF é usado para ignorar as pilhas de rede de ambos os nós.

  • Na comunicação entre pods no mesmo nó, o tráfego não apenas ignora a pilha de rede do nó, mas também é encaminhado diretamente dentro dele, sem sair do host.

Otimização de desempenho

  • Simplifica o caminho de encaminhamento de rede no host para os pods, alcançando desempenho quase equivalente ao do próprio host e reduzindo a latência em 30% em comparação ao modo padrão.

  • O eBPF substitui a implementação tradicional do kube-proxy para redes de Serviços. Isso ignora o iptables ou IPVS no nó, reduzindo significativamente a latência das requisições e melhorando a escalabilidade em grandes clusters.

  • O eBPF também substitui o iptables nas políticas de rede dos pods (NetworkPolicy). Isso evita a geração excessiva de regras de iptables no host, minimizando o impacto das políticas de rede no desempenho.

Uso

Ao criar um cluster, defina Network Plug-in como Terway e selecione a opção DataPath V2.

Observações de uso

  • Requer versão de kernel 5,10 ou superior. Recomendamos o uso de imagens de SO Alibaba Cloud Linux.

  • O runtime Sandboxed-Container não é suportado.

  • Limitações do NetworkPolicy:

    • O seletor CIDR não suporta o controle de tráfego para faixas de IP dos pods. Para controlar o tráfego destinado aos pods, utilize seletores de pod.

    • O suporte à palavra-chave except em seletores CIDR é limitado. Recomendamos não utilizar essa palavra-chave.

    • Uma NetworkPolicy de saída (egress) pode bloquear o acesso a pods com hostNetwork ativado ou a endereços IP de nós dentro do cluster.

  • O acesso interno do cluster a uma instância pública do Server Load Balancer (SLB) para um Serviço LoadBalancer pode falhar devido a problemas de loopback. Para mais informações, consulte Por que não consigo acessar um balanceador de carga?.

  • O acesso hairpin IPv6 não é suportado.

  • Limitações do NodePort:

    • Se você acessar um serviço usando ExternalTrafficPolicy=Local, o tráfego poderá ser bloqueado. Para resolver esse problema, altere a configuração para ExternalTrafficPolicy=Cluster.

    • Ao utilizar ExternalTrafficPolicy=Cluster, a tradução de endereços de rede de origem (SNAT) é aplicada ao endereço IP de origem. A faixa de portas disponível para SNAT é de 32768 a 65535.

  • O recurso de aceleração eBPF difere da implementação padrão do Linux. É necessário ajustar as configurações dos componentes conforme o volume de tráfego. Para mais informações sobre como configurar monitoramento e ajustar limites de mapas eBPF, consulte Melhores práticas para Terway Datapath V2.

O modo de aceleração IPvlan+eBPF pode estar em uso em clusters mais antigos. Seus recursos estão descritos abaixo.

Modo de aceleração IPvlan+eBPF

Recursos do IPvlan+eBPF

Descrição

Versões aplicáveis do Terway

Clusters criados com Terway v1.7.0 ou anterior.

Arquitetura de rede

image

Caminho de dados acelerado

  • Quando um pod acessa um Serviço, o eBPF é utilizado no namespace de rede do pod para resolver o endereço IP do Serviço para o endereço IP de um pod backend.

  • Na comunicação entre um pod e outro, o IPvlan é usado para ignorar as pilhas de rede de ambos os nós.

Uso

Ao criar um cluster, defina Network Plug-in como Terway e selecione a opção Pod IPvlan.

Observações de uso

  • Requer versão de kernel 4,19 ou superior. Recomendamos o uso de imagens de SO Alibaba Cloud Linux.

  • O runtime Sandboxed-Container não é suportado.

  • Limitações do NetworkPolicy:

    • O seletor CIDR não suporta o controle de tráfego para faixas de IP dos pods. Para controlar o tráfego destinado aos pods, utilize seletores de pod.

    • O suporte à palavra-chave except em seletores CIDR é limitado. Recomendamos não utilizar essa palavra-chave.

    • Uma NetworkPolicy de saída (egress) pode bloquear o acesso a pods com hostNetwork ativado ou a endereços IP de nós dentro do cluster.

  • O acesso interno do cluster a uma instância pública do Server Load Balancer (SLB) para um Serviço LoadBalancer pode falhar devido a problemas de loopback. Para mais informações, consulte Por que não consigo acessar um balanceador de carga?.

  • O acesso hairpin IPv6 não é suportado.

  • Limitações do NodePort:

    • Se você acessar um serviço usando ExternalTrafficPolicy=Local, o tráfego poderá ser bloqueado. Para resolver esse problema, altere a configuração para ExternalTrafficPolicy=Cluster.

    • Ao utilizar ExternalTrafficPolicy=Cluster, a tradução de endereços de rede de origem (SNAT) é aplicada ao endereço IP de origem. A faixa de portas disponível para SNAT é de 32768 a 65535.

  • O recurso de aceleração eBPF difere da implementação padrão do Linux, sendo necessário ajustar as configurações dos componentes conforme o volume de tráfego dos seus serviços. Certifique-se de consultar Melhores práticas para Terway Datapath V2 para configurar o monitoramento e ajustar o limite do mapa eBPF.

Controle de acesso

O Terway oferece gerenciamento granular de tráfego. No modo ENI compartilhada, isso é alcançado via NetworkPolicy e a opção Trunk ENI. O modo ENI exclusiva também fornece capacidades de controle de tráfego.

NetworkPolicy

  • Pools de nós no modo ENI exclusiva não suportam NetworkPolicy.

  • Pools de nós no modo ENI compartilhada suportam o NetworkPolicy nativo do Kubernetes, permitindo controlar o tráfego de rede entre pods por meio de regras definidas pelo usuário.

    Ao criar um cluster, ative o NetworkPolicy selecionando Terway como Network Plug-in e marcando a opção NetworkPolicy support. Para mais informações, consulte Usar políticas de rede em clusters ACK.

    Nota

    O recurso que permite gerenciar recursos NetworkPolicy no console está em preview público. Para usar esse recurso, envie uma solicitação no Quota Center console.

IP estático, vSwitch e grupo de segurança

  • Pools de nós no modo ENI exclusiva suportam nativamente a atribuição de um endereço IP estático, um vSwitch separado e um grupo de segurança distinto para cada pod. Isso possibilita gerenciamento granular de tráfego, isolamento de rede, configuração de políticas e gestão de endereços IP.

  • Para pools de nós no modo ENI compartilhada, o recurso opcional Trunk ENI permite configurar um endereço IP estático, um vSwitch separado e um grupo de segurança distinto para cada pod.

    Para ativar esse recurso, defina Network Plug-in como Terway e selecione a opção Support for ENI Trunking durante a criação do cluster. Para mais informações, consulte Configurar endereço IP estático, vSwitch separado e grupo de segurança para um pod.

    Nota
    • Você pode ativar o Trunk ENI para clusters gerenciados ACK sem enviar uma solicitação. Caso deseje ativar o Trunk ENI para um cluster dedicado ACK, envie primeiro uma solicitação no Quota Center console.

    • Para clusters gerenciados ACK recém-criados que executam Kubernetes 1.31 ou posterior, o recurso Trunk ENI é ativado automaticamente. Não é necessário selecioná-lo manualmente.

    • Após ativar o modo Trunk ENI, os componentes terway-eniip e terway-controlplane são instalados.

Limites de dimensionamento

O Terway chama a OpenAPI de produtos de nuvem para gerenciar interfaces de rede e endereços IP dos nós. Para limites de uso dessas operações, consulte a documentação de cada produto de nuvem.

  • modo ENI compartilhada: Até 500 nós podem ser alocados simultaneamente.

  • modo ENI exclusiva/TrunkENI: Até 100 pods podem ser alocados simultaneamente.

Essas cotas são fixas.

Configuração do plano de dados

O plano de dados do Terway depende da sequência precisa e da integridade de suas configurações no nível do kernel. Qualquer modificação não coordenada de hooks IP rule, IP route ou eBPF por componentes externos — incluindo ajustes de prioridade, substituição de regras ou descarregamento de programas — pode causar falhas graves, como interrupções na rede dos pods, ineficácia das políticas de rede e redirecionamento não intencional de tráfego. Valide rigorosamente todos os componentes de terceiros antes da integração para evitar conflitos.

Regras de filtro TC

Interface

Direção

Programa

Prioridade

Função

ethx

toContainer

VLAN Untag

20000

Remover tag VLAN

ethx

toContainer

cil_from_netdev

25000

Política de svc/rede Cilium

veth

toContainer

cil_to_container

25000

Política de svc/rede Cilium

veth

fromContainer

cil_from_container

25000

Política de svc/rede Cilium

ethx

fromContainer

cil_to_netdev

25000

Política de svc/rede Cilium

ethx

fromContainer

VLAN Tag

50001

Adicionar tag VLAN

Regras de IP

Direção

Prioridade

Tabela de roteamento

toContainer

512

1000 + linkIndex (índice da ENI)

fromContainer

512

1000 + linkIndex (índice da ENI)

FAQ

Identificação dos modos de ENI do Terway

    Troca de plug-in de rede

    O plug-in é definido na criação do cluster. Para trocá-lo, crie um novo cluster e migre as cargas de trabalho.