Todos os produtos
Search
Central de documentação

Container Service for Kubernetes:Personalizar parâmetros do Terway

Última atualização: Aug 05, 2026

A configuração padrão do Terway atende à maioria dos cenários. Modificar essa configuração é uma operação de alto risco que pode causar erros, como a interrupção do componente Terway. Se você tiver requisitos específicos, como aumentar o tamanho do pool de recursos de endereços IP para acelerar a alocação de IPs dos pods, personalize os parâmetros conforme descrito neste tópico.

Limitações

  • Este tópico descreve a função de cada parâmetro. Nem todas as combinações funcionam em todos os cenários. Teste completamente suas configurações antes de aplicá-las.

  • Alguns parâmetros podem ser configurados no console. Se um parâmetro não estiver disponível no console, a versão atual do componente não o suporta. Nesse caso, atualize o componente Terway para configurar o parâmetro.

Exemplo de configuração do Terway

O código a seguir mostra o formato do arquivo ConfigMap para o componente Terway em um cluster.

apiVersion: v1
data:
  10-terway.conf: |     # Parameters for the Terway CNI configuration file. This configuration is converted and written to /etc/cni/net.d/. Do not modify.
    {
      "cniVersion": "0.4.0",
      "name": "terway",
      "capabilities": {"bandwidth": true},
      "eniip_virtual_type": "datapathv2",
      "host_stack_cidrs": ["169.254.20.10/32"],
      "cilium_args": "",
      "type": "terway"
    }
  disable_network_policy: "false"    # Specifies whether to disable the NetworkPolicy feature.
  eni_conf: |                        # Core Terway configuration parameters, such as the vSwitches and security groups.
    {
      "version": "1",
      "max_pool_size": 5,
      "min_pool_size": 0,
      "credential_path": "/var/addon/token-config",
      "enable_eni_trunking": true,
      "vswitches": {"cn-hangzhou-j":["vsw-foo"],"cn-hangzhou-k":["vsw-foo"]},
      "eni_tags": {"ack.aliyun.com":"c7c3cfoo"},
      "service_cidr": "192.168.0.0/16",
      "security_group": "sg-foo",
      "ip_stack": "ipv4",
      "vswitch_selection_policy": "ordered"
    }
  in_cluster_loadbalance: "true"   # In-cluster load balancing. Takes effect only in DataPathV2 or IPvlan mode.
kind: ConfigMap
metadata:
  name: eni-config
  namespace: kube-system

Parâmetros

Parâmetros de nível superior

Parâmetro

Descrição

Modificável

Suporte no console

10-terway.conf

Parâmetros de configuração do CNI do Terway. A configuração é convertida e gravada em /etc/cni/net.d/.

Não

Não

10-terway.conflist

Parâmetros do arquivo de configuração personalizado do CNI do Terway. Para mais informações, consulte Configurar uma cadeia de CNI personalizada.

Sim

Não

disable_network_policy

Define se o recurso NetworkPolicy deve ser desativado.

  • false: ativa o recurso NetworkPolicy.

  • true: desativa o recurso NetworkPolicy.

Sim

Sim

eni_conf

Parâmetros principais de configuração do Terway, como vSwitches e grupos de segurança.

Sim

Parcialmente

in_cluster_loadbalance

Define se o balanceamento de carga dentro do cluster deve ser ativado. Este parâmetro tem efeito apenas nos modos DataPathV2 ou IPvlan. Para mais informações, consulte Como ativar o balanceamento de carga dentro do cluster para um cluster Terway IPvlan?

Sim

Sim

Parâmetros do 10-terway.conf

Parâmetro

Tipo

Descrição

Modificável

Suporte no console

cniVersion

string

Versão da configuração do CNI.

Não

Não

name

string

Nome do plugin CNI.

Não

Não

type

string

Tipo do plugin CNI.

Não

Não

capabilities

string

Capacidades do CNI.

Sim

Não

eniip_virtual_type

string

Método de virtualização da ENI.

Não

Não

cilium_args

string

Parâmetros de configuração do Cilium. Exemplo: --bpf-map-dynamic-size-ratio=0.003.

Importante
  • O suporte aos parâmetros varia conforme a versão da comunidade e a compatibilidade com versões anteriores não é garantida. Teste esses parâmetros completamente antes de usá-los em ambiente de produção. Se o pod do Terway falhar ao iniciar após uma atualização, exclua a configuração e tente novamente.

  • Durante a atualização do componente, a lista de parâmetros é validada. Os seguintes parâmetros são permitidos. Se a verificação de validação do cilium_args falhar durante a atualização do Terway, exclua a configuração e tente novamente.

    bpf-map-dynamic-size-ratio
        bpf-ct-timeout-regular-any
        bpf-ct-timeout-regular-tcp
        bpf-ct-timeout-regular-tcp-fin
        bpf-ct-timeout-regular-tcp-syn
        bpf-ct-timeout-service-any 
        bpf-ct-timeout-service-tcp 
        bpf-ct-timeout-service-tcp-grace
        bpf-lb-map-max
        conntrack-gc-interval
        bpf-ct-global-any-max
        bpf-ct-global-tcp-max
        bpf-nat-global-max
        prometheus-serve-addr
        api-rate-limit
        k8s-client-qps
        k8s-client-burst

Sim

Sim

symmetric_routing

bool

Requer terway-eniip 1.15.0 ou posterior.

Define se o roteamento simétrico deve ser ativado. Ativar este recurso define regras de roteamento baseadas em políticas para garantir que o tráfego de entrada e saída utilize a mesma interface.

  • true: ativar.

  • false: desativar.

Sim

Não

symmetric_routing_config

map[string]any

Requer terway-eniip 1.15.0 ou posterior.

Parâmetros de configuração do roteamento simétrico. Na maioria dos casos, não é necessário configurar esses parâmetros. O código a seguir fornece os valores padrão e um exemplo.

{
      "symmetric_routing_config": {
        "interface": "eth0",
        "mark": 16,
        "mask": 16,
        "table_id": 100,
        "rule_priority": 600,
        "comment": "terway-symmetric"
      }
    }
Importante

Configurações incorretas podem afetar as configurações de rede existentes. Antes de usar os parâmetros, certifique-se de testá-los completamente em um ambiente fora de produção.

Sim

Não

Parâmetros do eni_conf

Parâmetro

Tipo

Descrição

Modificável

Suporte no console

credential_path

string

Caminho para o token do Security Token Service (STS) usado para acessar a OpenAPI. Este parâmetro aplica-se apenas a clusters gerenciados pelo ACK.

Não

Não

service_cidr

string

Bloco CIDR de serviço do cluster.

Não

Não

vswitches

map[string][]string

vSwitches disponíveis para ENIs, indexados por zona.

Sim

Sim

eni_tags

map[string]string

Tags a serem adicionadas às ENIs no momento da criação. Alterações neste parâmetro não afetam as ENIs existentes.

Não

Não

eni_tag_filter

map[string]string

Aplica-se apenas ao modo de ENI compartilhada.

Filtra as ENIs gerenciadas pelo Terway. Para mais informações, consulte Configurar uma lista de permissões para ENIs.

Sim

Não

max_pool_size

int

Aplica-se apenas ao modo de ENI compartilhada.

Número máximo de endereços IP ociosos a serem mantidos no pool de recursos de endereços IP. Valor padrão: 5.

Sim

Sim

min_pool_size

int

Aplica-se apenas ao modo de ENI compartilhada.

Número mínimo de endereços IP ociosos a serem mantidos no pool de recursos de endereços IP. Valor padrão: 0.

Sim

Sim

security_group

string

Grupo de segurança para novas ENIs. Alterações neste parâmetro não afetam as ENIs existentes.

Sim

Não

security_groups

[]string

Grupos de segurança para novas ENIs. É possível especificar até 10 grupos de segurança do mesmo tipo. Se você configurar este parâmetro, a união dos valores de security_group e security_groups será usada. Alterações neste parâmetro não afetam as ENIs existentes.

Sim

Sim

vswitch_selection_policy

string

Política para seleção de um vSwitch quando uma ENI é criada.

  • ordered: seleciona o vSwitch com o maior número de endereços IP disponíveis. Este é o valor padrão.

  • random: seleciona um vSwitch aleatoriamente.

Sim

Sim

enable_eip_migrate

bool

Define se o recurso de migração de EIP deve ser ativado. Para mais informações, consulte Migrar EIPs do Terway para o ack-extend-network-controller.

Sim

Não

ip_stack

string

Família de IP do cluster. Este parâmetro não pode ser modificado.

Não

Não

ipam_type

string

Método de Gerenciamento de Endereços IP (IPAM) do cluster. Este parâmetro não pode ser modificado.

Não

Não

enable_eni_trunking

bool

Define se o recurso Trunk deve ser ativado. Para mais informações, consulte Configurar endereços IP fixos, vSwitches independentes e grupos de segurança para pods.

Sim

Não

kube_client_qps

float32

Configuração de QPS do cliente Kubernetes. Deve ser configurado junto com kube_client_burst.

Sim

Sim

kube_client_burst

int

Configuração de Burst para o cliente Kubernetes. Deve ser configurado junto com kube_client_qps e ser maior que kube_client_qps.

Sim

Sim

resource_group_id

string

Grupo de recursos ao qual as novas ENIs são adicionadas. Alterações neste parâmetro não afetam as ENIs existentes.

Sim

Sim

ip_pool_sync_period

string

Requer terway-eniip 1.15.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Período de sincronização do pool de recursos de endereços IP. Valor padrão: 120 segundos.

Exemplos: 2m, 120s.

Sim

Não

idle_ip_reclaim_after

string

Requer terway-eniip 1.16.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Tempo que um endereço IP deve permanecer ocioso antes de poder ser recuperado.

Exemplo: 60m.

Nota

O temporizador é reiniciado se um pod for criado ou excluído antes da recuperação.

Sim

Não

idle_ip_reclaim_interval

string

Requer terway-eniip 1.16.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Intervalo entre duas verificações consecutivas de recuperação.

Exemplo: 30m.

Sim

Não

idle_ip_reclaim_batch_size

int

Requer terway-eniip 1.16.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Número máximo de endereços IP que podem ser recuperados em um único lote. Intervalo válido: 1 a 10.

Exemplo: 5.

Sim

Não

idle_ip_reclaim_jitter_factor

string

Requer terway-eniip 1.16.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Fator de variação usado para randomizar o tempo de recuperação. Intervalo válido: 0,0 a 1,0.

Exemplo: 0.1.

Sim

Não

ip_warm_up_size

int

A versão do terway-eniip deve ser 1.16.4 ou posterior, e o ipam_type do cluster deve estar definido como crd. Este recurso é suportado apenas no modo de ENI compartilhada.

Número de endereços IP a serem pré-alocados por vez. Este parâmetro tem efeito apenas para nós recém-adicionados. A tarefa de aquecimento para quando o número de endereços IP alocados em um nó atinge o valor esperado.

Exemplo: 5.

Sim

Não

enable_patch_pod_ips

bool

Requer terway-eniip 1.13.7 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Define se a anotação k8s.aliyun.com/pod-ips deve ser adicionada aos pods. Valor padrão: true.

Sim

Não

enable_ip_prefix

bool

Requer terway-eniip 1.17.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

O valor padrão é false. Ativar esta opção atribui um prefixo de IP à ENI.

Sim

Não

ipv4_prefix_count

int

Requer terway-eniip 1.17.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Número de prefixos de IP para a configuração do nó. Este parâmetro é válido quando o tipo de rede do cluster é ipv4 ou dual. O intervalo de valores é >=0, e o limite superior é restringido automaticamente pelas especificações do tipo de instância burstable.

Sim

Não

ipv6_prefix_count

int

Requer terway-eniip 1.17.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada.

Número de prefixos de IP para um nó. Este parâmetro é válido apenas quando o tipo de rede do cluster é ipv6. O intervalo de valores é [0, 1].

Sim

Não

Métodos de configuração

Usar o console

É possível configurar parâmetros frequentemente usados no console. O console valida o conteúdo e rejeita entradas inválidas.

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

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

  3. Clique na aba Networking e, em seguida, clique em Configuration no cartão terway-eniip.

  4. No painel exibido, configure os parâmetros e clique em OK.

Usar kubectl

Alguns parâmetros não estão disponíveis no console. Use o kubectl para configurar esses parâmetros.

Aviso

Configurar o Terway usando kubectl é uma operação de alto risco. O kubectl não consegue validar a entrada. Parâmetros incorretos podem causar erros, como a interrupção do componente Terway. Certifique-se de compreender totalmente a configuração antes de fazer alterações.

  1. Conecte-se ao seu cluster usando kubectl. Para mais informações, consulte Obter o arquivo kubeconfig de um cluster e usar kubectl para conectar-se ao cluster. Em seguida, execute o seguinte comando para configurar parâmetros avançados:

    kubectl edit cm -n kube-system  eni-config 
  2. Após salvar a configuração, execute o seguinte comando para reiniciar o DaemonSet e aplicar as alterações:

     kubectl rollout restart -n kube-system daemonset.apps/terway-eniip

Referências