Em um cluster ACK baseado no Terway, o plugin utiliza elastic network interfaces (ENIs) para atribuir endereços IP aos containers. O Terway pode associar cada ENI criada a até cinco grupos de segurança. Esse recurso permite aplicar controle de acesso em camadas aos pods sem reestruturar a rede.
Pré-requisitos
Antes de começar, verifique se:
O cluster utiliza o plugin de rede Terway versão 1.1.1 ou posterior. Para atualizar o Terway, consulte Gerencie componentes.
Considerações
Apenas novas ENIs: As alterações nos grupos de segurança aplicam-se somente às ENIs criadas após salvar a configuração. As ENIs existentes mantêm os grupos de segurança atuais. Para aplicar a nova configuração aos nós existentes, remova e adicione novamente cada nó. Consulte Remove a node e Add existing ECS instances to an ACK cluster.
Mesma VPC: Todos os grupos de segurança devem pertencer à mesma VPC do cluster.
Mesmo tipo: Os grupos de segurança devem ser do mesmo tipo (comum ou empresarial).
Limite de cinco grupos: É possível associar no máximo cinco grupos de segurança a uma única ENI. O Terway considera tanto
security_groupquantosecurity_groupsnesse limite.
Associar vários grupos de segurança a uma ENI
kubectl
Por padrão, o Terway associa apenas um grupo de segurança a cada ENI criada. Para associar grupos de segurança adicionais, edite o ConfigMap eni-config no namespace kube-system.
-
Abra o ConfigMap para edição:
kubectl edit cm eni-config -n kube-system -
Adicione o campo
security_groupscomo um array JSON ao lado do camposecurity_groupexistente.O Terway aplica todos os grupos de segurança listados tanto em
security_groupquanto emsecurity_groups. O total combinado não deve exceder cinco grupos."security_group": "sg-bp19k3sj8dk3dcd7****", "security_groups": ["sg-bp1b39sjf3v49c33****","sg-bp1bpdfg35tg****"], -
Recrie o pod do Terway para aplicar a configuração:
kubectl delete pod -n kube-system -l app=terway-eniipAguarde até que todos os pods do Terway retornem ao estado
Runningantes de prosseguir:kubectl get pod -n kube-system -l app=terway-eniipA saída deve ser semelhante a:
NAME READY STATUS RESTARTS AGE terway-eniip-xxxxx 1/1 Running 0 30s
Verificar a configuração
Faça login no console do ECS. No painel de navegação à esquerda, escolha Instances & Images > Instances.
Na página Instances, localize e clique em na instância ECS desejada.
Na página de detalhes da instância, clique em na aba ENIs. Confirme se a ENI secundária exibe os grupos de segurança especificados no ConfigMap. Se a ENI secundária ainda mostrar apenas o grupo de segurança original, o pod do Terway pode não ter reiniciado. Execute
kubectl get pod -n kube-system -l app=terway-eniippara confirmar se todos os pods do Terway estão no estadoRunninge verifique novamente a aba ENIs.
Associar vários grupos de segurança durante a criação do cluster
Para definir vários grupos de segurança na criação do cluster, passe o parâmetro SecurityGroupIDs na configuração do add-on terway-eniip ao chamar a API CreateCluster:
{
"name": "your_cluster_name",
"cluster_type": "ManagedKubernetes",
"addons": [
{
"name": "terway-eniip",
"config": "{\"IPVlan\":\"true\",\"NetworkPolicy\":\"false\",\"ENITrunking\":\"true\",\"SecurityGroupIDs\": \"[\\\"sg-foo\\\"]\" }"
}
],
....
}