Nesta página, explicamos como controlar o fluxo de tráfego de rede entre pods e serviços que usam regras de firewall no nível do pod.
Políticas de rede para aplicativos ajudam a definir regras de tráfego de comunicação entre pods. Elas controlam como os pods se comunicam entre si nos aplicativos e com endpoints externos. É possível ativar uma política de rede em redes de pods nos clusters do GKE com multirrede ativada. Você pode aplicar políticas de rede em interfaces de Pod adicionais que correspondam a redes de Pod especificadas pelo usuário.
Por que usar políticas de rede de várias redes
Talvez você queira usar políticas de rede multirrede nos seguintes cenários:
Segurança de rede aprimorada: você quer isolar e proteger cargas de trabalho ou dados confidenciais definindo políticas de rede para redes de Pod específicas. As políticas de rede para várias redes limitam a exposição e reduzem a superfície de ataque.
Controle de tráfego refinado: tenha um controle preciso pelo fluxo de tráfego entre pods e serviços em diferentes redes de pods permitindo topologias de rede e requisitos de segurança complexos.
Ambientes multilocatários: crie redes isoladas para diferentes locatários ou aplicativos, garantindo que eles não interfiram na comunicação uns dos outros, mantendo o controle sobre o acesso à rede em cada rede de pod.
Otimizar a utilização de recursos: implemente políticas de redes de pods específicas para alocar recursos e priorizar o tráfego com base nos requisitos do aplicativo, melhorando o desempenho e confiabilidade.
Segurança para funções de rede conteinerizadas (CNFs, na sigla em inglês): segregue o tráfego de gerenciamento do tráfego do Dataplane dentro do mesmo pod, para evitar possíveis violações de segurança e acessos não autorizados.
Como as políticas de rede de várias redes funcionam com as redes de pods
O diagrama abaixo ilustra como as políticas de rede, aplicadas a determinados redes de pods usando anotações, controlam o fluxo de tráfego entre pods em um do cluster do GKE.
O diagrama anterior mostra vários nós de trabalho executando pods (aplicativos conteinerizados) e como eles se comunicam dentro do mesmo nó ou entre nós diferentes usando a infraestrutura de rede. Ele também ilustra o uso de políticas de rede para controlar o fluxo de tráfego e a segmentação das VPCs e sub-redes da rede para maior segurança e organização.
- Isolamento do tráfego com políticas de rede segmentadas: as políticas de rede afetam apenas o tráfego na rede de pod "azul" devido à anotação
networking.gke.io/network: blue-Pod-network
O tráfego na rede de pods padrão permanece irrestrito. - Aplica o tráfego unidirecional com políticas de rede de pods: no diagrama anterior, as políticas de rede permitem que o Pod1 envie tráfego para o Pod2 na rede Pod "azul". O Pod2 não consegue enviar o tráfego de volta para o Pod1 na mesma rede. A política de rede para pods com o rótulo "test-app-2" funciona como um canal unidirecional. Ela permite especificamente o tráfego de saída apenas para pods rotulados como "test-app-3", impedindo a comunicação com outros pods, como "test-app-1".
- Permite tráfego de saída por padrão: se nenhuma política de saída for definida para um pod (neste exemplo, Pod1), todo o tráfego de saída é permitido por padrão no modo "azul", de uma interface de rede VPC.
- Garante a compatibilidade dos recursos atuais: todas as opções padrão de política de rede do GKE, como seletores de rótulos e blocos de endereços IP, funcionam com políticas de rede multirredes.
- Controla o escopo da política de rede com anotações:
- Se você criar uma política de rede sem anotação, o GKE aplicará políticas de rede multirredes a todas as interfaces de rede nos pods no namespace selecionado, independentemente das redes de pods às quais elas estão conectadas.
- Se você incluir a anotação e especificar o nome de uma rede de pod válida (por exemplo,
networking.gke.io/network: blue-Pod-network
), o GKE aplica a política aos pods conectados a essa rede de pods específica. - Se a anotação fizer referência à rede de pods que não existe realmente no seu cluster, o GKE não aplicará a política de rede a nenhum pod. Isso ocorre porque nenhum pod está conectado à rede inexistente especificada.
- Mantém a comunicação de várias redes para pods com várias interfaces de redes do aplicativo: se você aplicar uma política de rede para restringir o tráfego em uma rede de pod específica dentro de um pod, isso não afetará o tráfego em outras redes de pod conectadas ao mesmo pod.
Vantagens
Veja a seguir os benefícios de usar políticas de rede de várias redes:
Segurança reforçada: você pode reduzir os riscos associados ao acesso não autorizado e à movimentação lateral no cluster do GKE aplicando políticas de rede em nível granular.
Flexibilidade e personalização: você pode personalizar políticas de rede para atender às suas necessidades específicas de segurança e gerenciamento de tráfego para diferentes redes de Pod, acomodando diversas cargas de trabalho e aplicativos.
Gerenciamento de rede simplificado: você pode evitar a criação excessiva de redes Pod e ter controle refinado sobre a comunicação usando políticas de rede, simplificando o gerenciamento da rede e reduzindo a complexidade.
Otimização de custos: ao evitar a necessidade de criar inúmeras redes Pod, você pode otimizar a utilização de recursos e reduzir custos associados à infraestrutura de rede.
Proteção reforçada para CNFs: você pode garantir a segurança e a integridade das implantações CNF isolando o gerenciamento e o tráfego do plano de dados e aplicando políticas de rede específicas a cada implantação.
A seguir
Controlar o fluxo de tráfego entre pods e serviços no nível do pod