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 |
| Parâmetros de configuração do CNI do Terway. A configuração é convertida e gravada em | Não | Não |
| 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 |
| Define se o recurso NetworkPolicy deve ser desativado.
| Sim | Sim |
| Parâmetros principais de configuração do Terway, como vSwitches e grupos de segurança. | Sim | Parcialmente |
| 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 |
| string | Versão da configuração do CNI. | Não | Não |
| string | Nome do plugin CNI. | Não | Não |
| string | Tipo do plugin CNI. | Não | Não |
| string | Capacidades do CNI. | Sim | Não |
| string | Método de virtualização da ENI. | Não | Não |
| string | Parâmetros de configuração do Cilium. Exemplo: Importante
| Sim | Sim |
| 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.
| Sim | Não |
| 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. 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 |
| 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 |
| string | Bloco CIDR de serviço do cluster. | Não | Não |
| map[string][]string | vSwitches disponíveis para ENIs, indexados por zona. | Sim | Sim |
| 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 |
| 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 |
| 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 |
| 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 |
| string | Grupo de segurança para novas ENIs. Alterações neste parâmetro não afetam as ENIs existentes. | Sim | Não |
| []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 | Sim | Sim |
| string | Política para seleção de um vSwitch quando uma ENI é criada.
| Sim | Sim |
| 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 |
| string | Família de IP do cluster. Este parâmetro não pode ser modificado. | Não | Não |
| string | Método de Gerenciamento de Endereços IP (IPAM) do cluster. Este parâmetro não pode ser modificado. | Não | Não |
| bool | Define se o recurso | Sim | Não |
| float32 | Configuração de QPS do cliente Kubernetes. Deve ser configurado junto com | Sim | Sim |
| int | Configuração de Burst para o cliente Kubernetes. Deve ser configurado junto com | Sim | Sim |
| 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 |
| 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: | Sim | Não |
| 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: Nota O temporizador é reiniciado se um pod for criado ou excluído antes da recuperação. | Sim | Não |
| 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: | Sim | Não |
| 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: | Sim | Não |
| 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: | Sim | Não |
| int | A versão do terway-eniip deve ser 1.16.4 ou posterior, e o 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: | Sim | Não |
| bool | Requer terway-eniip 1.13.7 ou posterior. Aplica-se apenas ao modo de ENI compartilhada. Define se a anotação | Sim | Não |
| bool | Requer terway-eniip 1.17.0 ou posterior. Aplica-se apenas ao modo de ENI compartilhada. O valor padrão é | Sim | Não |
| 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 é | Sim | Não |
| 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 é | 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.
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do seu cluster. No painel de navegação à esquerda, clique em Add-ons.
Clique na aba Networking e, em seguida, clique em Configuration no cartão terway-eniip.
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.
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.
-
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 -
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
Para atualizar o Terway, consulte Gerenciar componentes.
Para mais informações sobre como configurar um ConfigMap, consulte Gerenciar ConfigMaps.