Esta página explica como controlar o fluxo de tráfego de rede entre pods e serviços através de regras de firewall ao nível do pod.
As políticas de rede para aplicações ajudam a definir regras de tráfego de comunicação entre pods. Controla a forma como os pods comunicam entre si nas respetivas aplicações e com pontos finais externos. Pode ativar a política de rede em redes de pods em clusters do GKE que tenham a funcionalidade de várias redes ativada. Pode aplicar políticas de rede em interfaces de pods adicionais que correspondam a redes de pods especificadas pelo utilizador.
Por que motivo usar políticas da rede com várias redes
É recomendável usar políticas de rede com várias redes nos seguintes cenários:
Segurança de rede melhorada: quer isolar e proteger cargas de trabalho ou dados confidenciais definindo políticas de rede para redes de pods específicas. As políticas de rede com várias redes limitam a exposição e reduzem a superfície de ataque.
Controlo detalhado do tráfego: quer alcançar um controlo preciso sobre o fluxo de tráfego entre Pods e Serviços em diferentes redes de Pods, permitindo topologias de rede complexas e requisitos de segurança.
Ambientes multiinquilinos: quer criar redes isoladas para diferentes inquilinos ou aplicações, garantindo que não interferem na comunicação uns dos outros, ao mesmo tempo que mantém o controlo sobre o acesso à rede em cada rede de pods.
Otimizar a utilização de recursos: quer implementar políticas de rede em redes de pods específicas para alocar recursos de forma eficiente e priorizar o tráfego com base nos requisitos da aplicação, melhorando o desempenho e a fiabilidade.
Segurança para funções de rede contentorizadas (CNFs): quer segregar o tráfego de gestão do tráfego do plano de dados no mesmo pod, o que impede potenciais violações de segurança e acesso não autorizado.
Como funcionam as políticas de rede de várias redes com as sub-redes
O diagrama seguinte ilustra como as políticas de rede, aplicadas a redes de pods específicas através de anotações, controlam o fluxo de tráfego entre pods num cluster do GKE.
O diagrama anterior mostra vários nós de trabalho a executar pods (aplicações em contentores) e como comunicam no mesmo nó ou em nós diferentes através da infraestrutura de rede. Também ilustra a utilização de políticas de rede para controlar o fluxo de tráfego e a segmentação da rede através de VPCs e sub-redes para uma segurança e organização melhoradas.
- Isola o tráfego com políticas de rede segmentadas: as políticas de rede
afetam apenas o tráfego na rede de pods "azul" devido à anotação
networking.gke.io/network: blue-Pod-network
. O tráfego na rede de pods predefinida permanece sem restrições. - Aplica 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 de pods "azul". O Pod2 não pode enviar tráfego de volta para o Pod1 na mesma rede. A política de rede para os pods etiquetados como "test-app-2" funciona como um canal unidirecional. Permite especificamente o tráfego de saída apenas para os pods etiquetados como "test-app-3", impedindo a comunicação com outros pods, como "test-app-1".
- Permite o tráfego de saída por predefinição: se não for definida nenhuma política de saída para um Pod (Pod1 neste exemplo), todo o tráfego de saída é permitido por predefinição na interface de rede "azul".
- Garante a compatibilidade das funcionalidades existentes: todas as opções padrão da política de rede do GKE, como seletores de etiquetas e blocos de endereços IP, funcionam com políticas de rede de várias redes.
- Controla o âmbito da política de rede com anotações:
- Se criar uma política de rede sem anotação, o GKE aplica políticas de rede de várias redes a todas as interfaces de rede nos pods no espaço de nomes selecionado, independentemente das redes de pods às quais estão ligados.
- Se incluir a anotação e especificar o nome de uma rede de pods válida (por exemplo,
networking.gke.io/network: blue-Pod-network
), o GKE aplica a política aos pods ligados a essa rede de pods específica. - Se a anotação fizer referência à rede de pods que não existe no seu cluster, o GKE não aplica a política de rede a nenhum pod. Isto acontece porque não existem Pods ligados à rede especificada que não existe.
- Mantém a comunicação entre redes para pods com várias interfaces de rede: se aplicar uma política de rede para restringir o tráfego numa rede de pods específica num pod, não afeta o tráfego noutras redes de pods ligadas ao mesmo pod.
Vantagens
Seguem-se as vantagens da utilização de políticas de rede multirrede:
Segurança melhorada: pode mitigar os riscos associados ao acesso não autorizado e ao movimento lateral no cluster do GKE aplicando políticas de rede a um nível detalhado.
Flexibilidade e personalização: pode personalizar as políticas de rede para satisfazer as suas necessidades específicas de segurança e gestão de tráfego para diferentes redes de pods, acomodando diversas cargas de trabalho e aplicações.
Gestão de rede simplificada: pode evitar a criação de redes de pods excessivas e ter um controlo detalhado sobre a comunicação através de políticas de rede, simplificando a gestão de rede e reduzindo a complexidade.
Otimização de custos: ao evitar a necessidade de criar várias redes de pods, pode otimizar a utilização de recursos e reduzir os custos associados à infraestrutura de rede.
Proteção melhorada para CNFs: pode garantir a segurança e a integridade das implementações de CNFs isolando o tráfego de gestão e de plano de dados, e aplicando políticas de rede específicas a cada implementação.
O que se segue?
Controle o fluxo de tráfego entre pods e serviços ao nível do pod