Conceitos de uso de rede para aplicativos no Serviço de Kubernetes do Azure (AKS)
Em uma abordagem de microsserviços baseada em contêiner para o desenvolvimento de aplicativos, os componentes de 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 internamente ou externamente.
- Para criar aplicativos altamente disponíveis, você pode balancear a carga de seus aplicativos.
- Você também pode precisar restringir o fluxo de tráfego de rede em pods e nós ou entre eles para melhorar a segurança.
- Aplicativos mais complexos podem exigir a configuração de tráfego de entrada para terminação SSL/TLS ou o roteamento de múltiplos componentes.
Este artigo apresenta os principais conceitos que fornecem rede para seus aplicativos no AKS:
Noções básicas de uso 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 os pods (unidades básicas de implantação no Kubernetes) tenham conectividade tanto de entrada quanto de saída.
Componente Kube-proxy: o Kube-proxy é executado em cada nó e é responsável por fornecer os recursos de rede necessários.
No que se refere a 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 Entrada: 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 que você gerencie e controle o tráfego de saída dos nós de um cluster.
- Políticas de rede: essas políticas habilitam medidas de segurança e filtragem para o tráfego de rede em pods.
No contexto da plataforma do Azure:
- O Azure simplifica a rede virtual para clusters do AKS (Serviço de Kubernetes do Azure).
- A criação de um balanceador de carga do Kubernetes no Azure configura simultaneamente o recurso de balanceador de carga do Azure correspondente.
- À medida que você abre portas de rede para os 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 modelos de rede a seguir:
- 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 de IP de um CIDR privado e separado logicamente da sub-rede da rede virtual do Azure em que os nós do AKS estão implantados. Esse modelo permite uma escalabilidade mais simples e aprimorada em comparação com o modelo de rede simples.
- Modelo de rede simples: um modelo de rede simples no AKS atribui endereços de IP aos pods de uma sub-rede da mesma rede virtual do Azure que os nós do AKS. Todo o tráfego que sai dos seus clusters não é SNAT, e o endereço de IP do pod é exposto diretamente ao destino. Esse modelo pode ser útil para os cenários, como a exposição de endereços de IP de pods aos 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
Os clusters do AKS são implantados em uma rede virtual e têm dependências de saída em serviços fora dessa rede virtual. Essas dependências de saída são quase inteiramente definidas com FQDNs (nomes de domínio totalmente qualificados). Por padrão, os clusters do AKS têm acesso irrestrito à Internet de saída (saída), o que permite que os nós e os serviços executados acessem recursos externos conforme necessário. Se desejado, você pode restringir o tráfego de saída.
Para obter mais informações, confira 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 do AKS. À medida que você cria Serviços, como um LoadBalancer, a plataforma do Azure configura automaticamente as regras do grupo de segurança de rede necessárias.
Você não precisa configurar manualmente as regras do grupo de segurança de rede para filtrar o tráfego de pods em um cluster do AKS. É possível definir as portas e o encaminhamento necessários como parte dos manifestos do Kubernetes Service e permita que a plataforma do Azure crie ou atualize as regras apropriadas.
Também é possível usar políticas de rede para aplicar automaticamente as regras de filtro de tráfego aos pods.
Para obter mais informações, consulte Como filtrar o tráfego de rede com grupos de segurança de rede.
Políticas de rede
Por padrão, todos os pods em um cluster do AKS podem enviar e receber tráfego sem limitações. Para melhorar a segurança,defina as regras que controlam o fluxo de tráfego, como:
- Os aplicativos de back-end são expostos apenas aos serviços de front-end necessários.
- Os componentes de banco de dados só são acessíveis para as camadas de aplicativo que se conectam a eles.
A política de rede é um recurso de Kubernetes disponível no AKS que permite controlar o fluxo de tráfego entre os pods. Você pode permitir ou negar o tráfego para o pod de acordo com as 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 do AKS, as políticas de rede são uma maneira nativa de nuvem mais adequada para controlar o fluxo de tráfego para pods. Como os pods são criados dinamicamente em um cluster do AKS, as políticas de rede necessárias podem ser aplicadas automaticamente.
Para saber mais, confira Proteger o tráfego entre os pods usando as políticas de rede no AKS (Serviço de Kubernetes do Azure).
Próximas etapas
Para começar a usar a rede do AKS, crie e configure um cluster do AKS com seus próprios intervalos de endereços IP usando a Sobreposição de CNI do Azure ou a CNI do Azure.
Para as melhores práticas associadas, consulte Melhores práticas conectividade e segurança da rede no AKS.
Para obter mais informações sobre os principais conceitos do Kubernetes e do AKS, confira os seguintes artigos:
Azure Kubernetes Service