Por padrão, os nós do Terway usam o ConfigMap eni-config no namespace kube-system. Para atribuir vSwitches e grupos de segurança personalizados por nó, crie um ConfigMap dedicado. O Terway mescla esse novo ConfigMap à configuração padrão usando MergePatch (RFC 7396).
Casos de uso
Configure as definições de rede por nó quando:
Isolamento de IP de saída: Pods específicos exigem endereços IP NAT dedicados ou limites de largura de banda distintos do restante do cluster.
Pré-requisitos
Verifique se você tem:
vSwitches criados para atribuição aos nós.
Grupos de segurança criados para atribuição aos nós.
Considerações
As interfaces de rede elástica (ENIs) existentes não são atualizadas automaticamente. Somente as ENIs criadas após a alteração da configuração usam os novos vSwitches e grupos de segurança. Modo de ENI compartilhada (padrão): versão do terway-eniip >= v1.0.10.237. Modo de ENI exclusiva: versão do terway-eniip >= v1.14.5.
Os vSwitches devem estar na mesma zona que o nó. Um vSwitch em uma zona diferente não tem efeito.
Limite de grupos de segurança. Atribua até 10 grupos de segurança por ENI. Todos devem pertencer à mesma VPC e ser do mesmo tipo. Consulte Associar vários grupos de segurança a uma ENI.
Configure definições de rede por nó
Crie um ConfigMap com as configurações de rede desejadas, aplique rótulos aos nós de destino para referenciá-lo e verifique se as novas ENIs usam as definições corretas.
Etapa 1: Crie um ConfigMap
Crie um ConfigMap chamado foo no namespace kube-system para definir vSwitches e grupos de segurança para os nós rotulados.
Faça login no console do ACK. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster de destino. No painel de navegação à esquerda, escolha Configurations > ConfigMaps.
Na página ConfigMap, selecione kube-system na lista suspensa Namespace e clique em Create.
-
No painel Create, defina ConfigMap Name como foo. Clique em Add, defina Name como eni_conf e insira o seguinte JSON como Value. Substitua
vswitchesesecurity_grouppelos seus IDs reais.{ "vswitches": { "cn-hangzhou-g": [ "vsw-10000" ], "cn-hangzhou-i": [ "vsw-10001" ] }, "security_group": "sg-10000", "security_groups": [ "sg-10000", "sg-10001" ] }Parâmetro
Descrição
vswitchesMapa de IDs de zona para listas de IDs de vSwitch. Cada vSwitch deve estar na mesma zona dos nós de destino. Encontre os IDs de zona e vSwitch no console da VPC em vSwitch.
security_groupPara atribuir um único grupo de segurança, defina este parâmetro e deixe
security_groupscomo nulo.security_groupsPara atribuir múltiplos grupos de segurança, defina este parâmetro e deixe
security_groupcomo nulo. Para atribuir múltiplos grupos de segurança, defina este parâmetro e deixe security_group como nulo. Clique em OK.
Etapa 2: Rotular nós
Aplique o rótulo terway-config=foo aos nós que devem usar este ConfigMap.
Para nós existentes:
No painel de navegação à esquerda da página de detalhes do cluster, escolha Nodes > Nodes. Clique em Manage Labels and Taints.
Na aba Labels, selecione os nós de destino e clique em Add Label.
Na caixa de diálogo Add, defina Name como terway-config e Value como foo, depois clique em OK.
-
Reinicie os pods do Terway para aplicar a alteração.
No painel de navegação à esquerda, escolha Workloads > Pods.
Selecione kube-system na lista suspensa Namespace, pesquise por
terway-eniip, selecione todos os pods correspondentes e clique em Batch Delete.Clique em OK. O Kubernetes recria os pods do Terway.
Aguarde até que a coluna Status exiba Running para todos os pods
terway-eniip. As novas configurações entram em vigor após todos os pods estarem em execução.
Para novos nós:
Ao criar um pool de nós, adicione um rótulo com key definida como terway-config e value definida como foo.
Etapa 3: Verifique a configuração
Após o reinício dos pods do Terway, confirme se as novas ENIs estão usando os vSwitches e grupos de segurança corretos.
Faça login no console do ECS. No painel de navegação à esquerda, escolha Instances & Images > Instances.
Clique no nome da instância ECS de destino. Na página de detalhes, clique na aba ENIs.
Verifique se a ENI usada para alocação de IP do pod está associada aos vSwitches e grupos de segurança definidos no ConfigMap.
Se o endereço IP de um novo pod não estiver dentro do bloco CIDR do vSwitch esperado, consulte as Perguntas frequentes sobre redes de contêineres.