Atribuir grupos de segurança a pods individuais - Amazon EKS

Ajudar a melhorar esta página

Para contribuir com este guia de usuário, escolha o link Editar esta página no GitHub, disponível no painel direito de cada página.

Atribuir grupos de segurança a pods individuais

Aplica-se a: nós do Linux com instâncias do Amazon EC2

Aplica-se a: sub-redes privadas

Os grupos de segurança para pods integram grupos de segurança do Amazon EC2 aos pods do Kubernetes. Você pode usar grupos de segurança do Amazon EC2 para definir regras que permitem tráfego de rede de entrada e saída de e para pods implantados em nós executados em muitos tipos de instância do Amazon EC2 e Fargate. Para obter uma explicação detalhada sobre esse recurso, consulte o post do blog Apresentação de grupos de segurança para pods.

Compatibilidade com recursos do plug-in CNI da Amazon VPC para Kubernetes

Você pode usar os grupos de segurança dos pods com os seguintes recursos:

Considerações

Antes de implantar grupos de segurança para pods, considere as seguintes limitações e condições:

  • Os grupos de segurança para pods não podem ser usados com nós do Windows.

  • Os grupos de segurança para pods podem ser usados com clusters configurados para a família IPv6 que contém nós do Amazon EC2 usando a versão 1.16.0 ou mais recente do plug-in CNI da Amazon VPC. Você pode usar grupos de segurança para pods com clusters configurados para a família IPv6 que contêm apenas nós do Fargate usando a versão 1.7.7 ou mais recente do plug-in CNI da Amazon VPC. Para obter mais informações, consulte Saiba mais sobre endereços IPv6 para clusters, pods e serviços.

  • Os grupos de segurança para pods são compatíveis com a maioria das famílias de instâncias do Amazon EC2 baseadas no Nitro, mas não com todas as gerações de uma família. Por exemplo, eles são compatíveis com a família e as gerações de instâncias m5, c5, r5, m6g, c6g e r6g. Mas não são compatíveis com nenhum tipo de instância da família t. Para obter uma lista completa de tipos de instância compatíveis, consulte o arquivo limits.go no GitHub. Seus nós devem ser um dos tipos de instâncias listados que têm IsTrunkingCompatible: true nesse arquivo.

  • Se você estiver usando a rede personalizada e grupos de segurança para pods juntos, o grupo de segurança especificado por grupos de segurança para pods é usado em vez do grupo de segurança especificado na ENIConfig.

  • Se você estiver usando a versão 1.10.2 ou anterior do plug-in CNI da Amazon VPC e incluir a configuração terminationGracePeriodSeconds na especificação do pod, o valor dessa configuração não poderá ser zero.

  • Se você estiver usando a versão 1.10 ou anterior do plug-in CNI da Amazon VPC, ou a versão 1.11 com POD_SECURITY_GROUP_ENFORCING_MODE=strict, que é a configuração padrão, então os serviços do Kubernetes do tipo NodePort e LoadBalancer que usam destinos de instância com a externalTrafficPolicy definida como Local não serão compatíveis com os pods aos quais você atribuir grupos de segurança. Para obter mais informações sobre como usar um balanceador de carga com destinos de instância, consulte Roteamento de tráfego TCP e UDP com Network Load Balancers.

  • Se você estiver usando a versão 1.10 ou anterior do plug-in CNI da Amazon VPC ou a versão 1.11 com POD_SECURITY_GROUP_ENFORCING_MODE=strict, que é a configuração padrão, o NAT de origem estará desabilitado para tráfego de saída de pods com grupos de segurança atribuídos para que as regras de grupo de segurança de saída sejam aplicadas. Para acessar a internet, os pods com grupos de segurança atribuídos devem ser iniciados em nós implantados em uma sub-rede privada configurada com uma instância ou gateway NAT. Pods com grupos de segurança atribuídos implantados em sub-redes públicas não conseguem acessar a Internet.

    Se estiver usando a versão 1.11 ou mais recente do plug-in com POD_SECURITY_GROUP_ENFORCING_MODE=standard, o tráfego do pod destinado para fora da VPC será convertido no endereço IP da interface de rede primária da instância. Para esse tráfego, as regras nos grupos de segurança da interface de rede primária são usadas, e não as regras nos grupos de segurança do pod.

  • Para usar a política de rede do Calico com pods que têm grupos de segurança associados, é necessário usar a versão 1.11.0 ou mais recente do plug-in CNI da Amazon VPC e definir POD_SECURITY_GROUP_ENFORCING_MODE=standard. Do contrário, o fluxo de tráfego de e para pods com grupos de segurança associados não estará sujeito à política de rede do Calico e estará limitado apenas à imposição do grupo de segurança do Amazon EC2. Para atualizar sua versão do Amazon VPC CNI, consulte Atribuir IPs a pods com a CNI da Amazon VPC.

  • Pods em execução nos nós do Amazon EC2 que usam grupos de segurança em clusters que usam NodeLocal DNSCache são compatíveis apenas com a versão 1.11.0 ou mais recente do plug-in CNI da Amazon VPC e com POD_SECURITY_GROUP_ENFORCING_MODE=standard. Para atualizar sua versão do plugin Amazon VPC CNI, consulte Atribuir IPs a pods com a CNI da Amazon VPC.

  • Grupos de segurança nos pods podem levar a uma latência de inicialização mais alta no pod para pods com alta rotatividade. Isso se deve à limitação de taxa no controlador de recursos.

  • O escopo do grupo de segurança do EC2 está no nível do pod. Para obter mais informações, consulte Grupos de segurança.

    Se você tiver definido POD_SECURITY_GROUP_ENFORCING_MODE=standard e AWS_VPC_K8S_CNI_EXTERNALSNAT=false, o tráfego destinado a endpoints fora da VPC usará os grupos de segurança do nó e não os grupos de segurança do pod.