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:
-
Tradução do endereço de rede de origem IPv4: para obter mais informações, consulte Habilitar o acesso de saída à internet para pods.
-
Endereços IPv6 para clusters, pods e serviços: para obter mais informações, consulte Saiba mais sobre endereços IPv6 para clusters, pods e serviços.
-
Restrição do tráfego usando políticas de rede do Kubernetes: para obter mais informações, consulte Limitar o tráfego do pod com políticas de rede do Kubernetes.
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íliaIPv6
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
er6g
. Mas não são compatíveis com nenhum tipo de instância da famíliat
. Para obter uma lista completa de tipos de instância compatíveis, consulte o arquivo limits.gono 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çãoterminationGracePeriodSeconds
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ão1.11
comPOD_SECURITY_GROUP_ENFORCING_MODE
=strict
, que é a configuração padrão, então os serviços do Kubernetes do tipoNodePort
eLoadBalancer
que usam destinos de instância com aexternalTrafficPolicy
definida comoLocal
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ão1.11
comPOD_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 comPOD_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 definirPOD_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 comPOD_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
eAWS_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.