Ajudar a melhorar esta página
Quer contribuir para este guia do usuário? Role até o final desta página e selecione Editar esta página no GitHub. Suas contribuições ajudarão a tornar nosso guia do usuário melhor para todos.
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 os grupos de segurança do Amazon EC2 com os 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 Introducing grupo de segurança for Pods
Compatibilidade com recursos do Amazon VPC CNI plugin for Kubernetes
É possível 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 Habilite o acesso de saída à Internet para pods.
-
Endereços IPv6 para clusters, pods e serviços: para obter mais informações, consulte Atribuir endereços IPv6 a 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 posterior do plug-in CNI do Amazon VPC. Você pode usar grupos de segurança paraIPv6
com clusters configurados para a família Pods que contêm apenas nós Fargate usando a versão 1.7.7 ou posterior do plug-in CNI do Amazon VPC. Para ter mais informações, consulte Atribuir endereços IPv6 a clusters, pods e serviços. -
Os grupos de segurança para os 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ê também estiver usando políticas de segurança de Pod para restringir o acesso à mutação de Pods, o usuário do
eks:vpc-resource-controller
Kubernetes deverá ser especificado noClusterRoleBinding
do Kubernetes para orole
ao qual opsp
está atribuído. Se você estiver usando o Amazon EKS padrãopsp
,role
eClusterRoleBinding
, este é oeks:podsecuritypolicy:authenticated
ClusterRoleBinding
. Por exemplo, você adiciona o usuário à seçãosubjects:
, como mostrado no seguinte exemplo:[...] subjects: - kind: Group apiGroup: rbac.authorization.k8s.io name: system:authenticated - apiGroup: rbac.authorization.k8s.io kind: User name: eks:vpc-resource-controller - kind: ServiceAccount name: eks-vpc-resource-controller
-
Se você estiver usando redes personalizadas 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 no
ENIConfig
. -
Se você estiver utilizando a versão
1.10.2
ou anterior do plug-in Amazon VPC CNI e incluir a configuraçãoterminationGracePeriodSeconds
na especificação do Pod, o valor dessa configuração não poderá ser zero. -
Se estiver utilizando 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, 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 a que 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 TCP e tráfego UDP com Network Load Balancers. -
Se estiver utilizando a versão
1.10
ou anterior do plugin Amazon VPC CNI 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, Pods com grupos de segurança atribuídos devem ser iniciados em nós implantados em uma sub-rede privada configurada com um gateway ou instância NAT. Pods com grupos de segurança atribuídos implantados em sub-redes públicas não podem acessar a Internet.Se estiver utilizando a versão
1.11
ou posterior do plugin 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 principal são utilizadas, e não as regras nos grupos de segurança do Pod's. -
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 posterior do plug-in Amazon VPC CNI e definirPOD_SECURITY_GROUP_ENFORCING_MODE
=standard
. Caso contrário, o fluxo de tráfego entrando e saindo de 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 em nós do Amazon EC2 que utilizam grupos de segurança em clusters que usam Nodelocal DNSCache
são compatíveis apenas com a versão 1.11.0
ou posterior 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 para Pods podem levar a uma latência de inicialização mais alta Pod no para o 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ê definiu
POD_SECURITY_GROUP_ENFORCING_MODE=standard
eAWS_VPC_K8S_CNI_EXTERNALSNAT=false
, o tráfego destinado a endpoints fora da VPC usa os grupos de segurança do nó e não os grupos de segurança do Pod.