Conceitos de rede para aplicativos no Serviço Kubernetes do Azure (AKS)
Em uma abordagem de microsserviços baseada em contêiner para o desenvolvimento de aplicativos, os componentes do aplicativo trabalham juntos para processar suas tarefas. O Kubernetes fornece vários recursos que permitem essa cooperação:
- Você pode se conectar e expor aplicativos interna ou externamente.
- Você pode criar aplicativos altamente disponíveis balanceando a carga de seus aplicativos.
- Você pode restringir o fluxo de tráfego de rede para ou entre pods e nós para melhorar a segurança.
- Você pode configurar o tráfego de entrada para terminação SSL/TLS ou roteamento de vários componentes para seus aplicativos mais complexos.
Este artigo apresenta os principais conceitos que fornecem rede para seus aplicativos no AKS:
Noções básicas de rede do Kubernetes
O Kubernetes emprega uma camada de rede virtual para gerenciar o acesso dentro e entre seus aplicativos ou seus componentes:
Nós do Kubernetes e rede virtual: os nós do Kubernetes estão conectados a uma rede virtual. Essa configuração permite que pods (unidades básicas de implantação no Kubernetes) tenham conectividade de entrada e saída.
Componente Kube-proxy: kube-proxy é executado em cada nó e é responsável por fornecer os recursos de rede necessários.
Em relação às funcionalidades específicas do Kubernetes:
- Balanceador de carga: Você pode usar um balanceador de carga para distribuir o tráfego de rede uniformemente entre vários recursos.
- Controladores de ingresso: facilitam o roteamento da Camada 7, que é essencial para direcionar o tráfego do aplicativo.
- Controle de tráfego de saída: o Kubernetes permite gerenciar e controlar o tráfego de saída dos nós do cluster.
- Políticas de rede: essas políticas permitem medidas de segurança e filtragem para o tráfego de rede em pods.
No contexto da plataforma Azure:
- O Azure simplifica a rede virtual para clusters AKS (Serviço Kubernetes do Azure).
- Criar um balanceador de carga do Kubernetes no Azure configura simultaneamente o recurso correspondente do balanceador de carga do Azure.
- À medida que você abre portas de rede para pods, o Azure configura automaticamente as regras de grupo de segurança de rede necessárias.
- O Azure também pode gerenciar configurações de DNS externas para roteamento de aplicativos HTTP à medida que novas rotas de entrada são estabelecidas.
Redes virtuais do Azure
No AKS, você pode implantar um cluster que usa um dos seguintes modelos de rede:
- Modelo de rede de sobreposição: a rede de sobreposição é o modelo de rede mais comum usado no Kubernetes. Os pods recebem um endereço IP de um CIDR privado e logicamente separado da sub-rede de rede virtual do Azure onde os nós AKS são implantados. Este modelo permite uma escalabilidade mais simples e melhorada quando comparado com o modelo de rede plana.
- Modelo de rede simples: um modelo de rede simples no AKS atribui endereços IP a pods de uma sub-rede da mesma rede virtual do Azure que os nós AKS. Qualquer tráfego que saia de seus clusters não é SNAT'd, e o endereço IP do pod é diretamente exposto ao destino. Este modelo pode ser útil para cenários como a exposição de endereços IP pod a serviços externos.
Para obter mais informações sobre modelos de rede no AKS, consulte Rede CNI no AKS.
Controlar o tráfego de saída (saída)
Os clusters AKS são implantados em uma rede virtual e têm dependências de saída em serviços fora dessa rede virtual, que são quase inteiramente definidos com FQDNs (nomes de domínio totalmente qualificados). O AKS fornece várias opções de configuração de saída que permitem personalizar a maneira como esses recursos externos são acessados.
Para obter mais informações sobre os tipos de configuração de saída de cluster AKS suportados, consulte Personalizar saída de cluster com tipos de saída no Serviço Kubernetes do Azure (AKS).
Por padrão, os clusters AKS têm acesso irrestrito à Internet de saída (saída), o que permite que os nós e serviços executados acessem recursos externos conforme necessário. Se desejar, você pode restringir o tráfego de saída.
Para obter mais informações sobre como restringir o tráfego de saída do seu cluster, consulte Controlar o tráfego de saída para nós de cluster no AKS.
Grupos de segurança de rede
Um grupo de segurança de rede filtra o tráfego para VMs como os nós AKS. À medida que você cria Serviços, como um LoadBalancer, a plataforma Azure configura automaticamente todas as regras de grupo de segurança de rede necessárias.
Não precisa de configurar manualmente as regras do grupo de segurança de rede para filtrar o tráfego para os pods num cluster do AKS. Você pode definir quaisquer portas e encaminhamento necessários como parte de seus manifestos do Serviço Kubernetes e permitir que a plataforma Azure crie ou atualize as regras apropriadas.
Também pode utilizar políticas de rede para aplicar automaticamente as regras do filtro de tráfego aos pods.
Para obter mais informações, consulte Como os grupos de segurança de rede filtram o tráfego de rede.
Políticas de rede
Por padrão, todos os pods em um cluster AKS podem enviar e receber tráfego sem limitações. Para maior segurança, defina regras que controlem o fluxo de tráfego, como:
- Os aplicativos back-end são expostos apenas aos serviços front-end necessários.
- Os componentes de banco de dados só são acessíveis às camadas de aplicativo que se conectam a eles.
A política de rede é um recurso do Kubernetes disponível no AKS que permite controlar o fluxo de tráfego entre pods. Você pode permitir ou negar tráfego para o pod com base em configurações como rótulos atribuídos, namespace ou porta de tráfego. Embora os grupos de segurança de rede sejam melhores para nós AKS, as políticas de rede são uma maneira mais adequada e nativa da nuvem de controlar o fluxo de tráfego para pods. Como os pods são criados dinamicamente em um cluster AKS, as políticas de rede necessárias podem ser aplicadas automaticamente.
Para obter mais informações, consulte Proteger o tráfego entre pods usando políticas de rede no Serviço Kubernetes do Azure (AKS).
Próximos passos
Para começar a usar a rede AKS, crie e configure um cluster AKS com seus próprios intervalos de endereços IP usando a Sobreposição CNI do Azure ou a CNI do Azure.
Para obter as melhores práticas associadas, consulte Práticas recomendadas para conectividade de rede e segurança no AKS.
Para obter mais informações sobre os principais conceitos de Kubernetes e AKS, consulte os seguintes artigos:
Azure Kubernetes Service