Habilitar contêineres para usar as funcionalidades de Rede Virtual do Azure
Leve o conjunto avançado de funcionalidades de rede do Azure para os contêineres utilizando a mesma pilha de rede definida pelo software que alimenta as máquinas virtuais. O plug-in da CNI (adaptador de rede de contêineres) da Rede Virtual do Azure contêiner é instalado em uma máquina virtual do Azure. O plug-in atribui endereços IP de uma rede virtual aos contêineres acionados na máquina virtual, anexando-os à rede virtual e conectando-os diretamente a outros contêineres e aos recursos da rede virtual. O plug-in não depende de redes de sobreposição nem de rotas para a conectividade e fornece o mesmo desempenho que as máquinas virtuais. Em geral, o plug-in fornece as seguintes funcionalidades:
Um endereço IP de rede virtual é atribuído a cada pod, que pode consistir em um ou mais contêineres.
Os pods podem se conectar a redes virtuais emparelhadas e à VPN local pelo ExpressRoute ou à VPN site a site. Os pods também podem ser acessados por redes emparelhada e locais.
Os pods podem acessar serviços como o Armazenamento do Microsoft Azure e o Banco de Dados SQL do Azure, que são protegidos por pontos de extremidade de serviço de rede virtual.
Grupos de segurança de rede e rotas podem ser aplicados diretamente aos pods.
Os pods podem ser colocados diretamente atrás do Azure Load Balancer interno ou público, assim como as máquinas virtuais
Os pods podem ser atribuídos a um endereço IP público, o que os torna diretamente acessíveis pela Internet. Os pods também podem acessar a Internet por conta própria.
Funciona perfeitamente com os recursos de Kubernetes como os serviços, os controladores de entrada e o DNS Kube. Um serviço de Kubernetes também pode ser exposto interna ou externamente por meio do Azure Load Balancer.
A imagem a seguir mostra como o plug-in fornece as funcionalidades de Rede Virtual do Azure aos pods:
O plug-in dá suporte às plataformas Linux e Windows.
Conectando pods a uma rede virtual
Os pods são ativados em uma máquina virtual que faz parte de uma rede virtual. Um pool de endereços IP dos Pods é configurado como endereços secundários no adaptador de rede da máquina virtual. A CNI do Azure define a conectividade de rede básica dos pods e gerencia a utilização dos endereços IP no pool. Quando um pod é ativado na máquina virtual, a CNI do Azure atribui um endereço IP disponível do pool e conecta o pod a uma ponte de software na máquina virtual. Quando o pod termina, o endereço IP é adicionado novamente ao pool. A imagem a seguir mostra como os pods se conectam a uma rede virtual:
Acesso à Internet
Para permitir que os pods acessem a Internet, o plug-in configura as regras iptables para fazer a NAT (conversão de endereços de rede) do tráfico limitado da Internet dos pods. O endereço IP de origem do pacote é convertido no endereço IP primário no adaptador de rede da máquina virtual. As Máquinas Virtuais do Windows originam automaticamente o tráfego NAT (SNAT) destinado a endereços IP fora da sub-rede em que a máquina virtual está. Normalmente, todo o tráfego destinado a um endereço IP fora do intervalo de IP da rede virtual é convertido.
limites
O plug-in dá suporte a até 250 pods por máquina virtual e até 16 mil pods em uma rede virtual. Esses limites são diferentes para o Serviço de Kubernetes do Azure.
Usando o plug-in
O plug-in pode ser usado das seguintes maneiras para fornecer conexão de rede virtual básica para pods ou contêineres do Docker:
Serviço de Kubernetes do Azure: O plug-in é integrado ao AKS (Serviço de Kubernetes do Azure) e pode ser usado escolhendo a opção Rede Avançada. A Rede Avançada permite implantar um cluster Kubernetes em uma rede virtual existente ou nova. Para saber mais sobre a Rede Avançada e as etapas para configurá-la, confira configuração de rede no AKS.
AKS-Engine: O AKS-Engine é uma ferramenta que gera um modelo do Azure Resource Manager para a implantação de um cluster Kubernetes no Azure. Para obter instruções detalhadas, confira Implantar o plug-in em clusters Kubernetes do AKS-Engine.
Criando seu próprio cluster Kubernetes no Azure: O plug-in pode ser usado para fornecer uma rede básica para pods em clusters Kubernetes implantados por você, sem depender do AKS nem de ferramentas como o AKS-Engine. Nesse caso, o plug-in é instalado e habilitado em cada máquina virtual em um cluster. Para ver instruções detalhadas, confira Implantar o plug-in em um cluster Kubernetes que você implanta por conta própria.
Anexo de rede virtual para contêineres do Docker no Azure: O plug-in pode ser usado quando você não quer criar um cluster Kubernetes e deseja criar contêineres do Docker com anexo de rede virtual, em máquinas virtuais. Para obter instruções detalhadas, confira Implantar o plug-in para Docker.
Próximas etapas
Implantar a rede de contêineres para um host autônomo do Docker do Linux
Implantar a rede de contêineres para um host autônomo do Docker do Windows
Implantar o plug-in para clusters Kubernetes ou contêineres do Docker