Maksym Yemelyanov - stock.adobe.

Cinco drivers de rede do Windows suportados por contêineres

NAT é a rede padrão para aplicativos de contêiner, mas há quatro outros drivers disponíveis. Cada driver de rede de contêiner tem algumas limitações e deve ser usado com cuidado.

Existem cinco drivers de rede do Windows disponíveis para os containers escolherem: NAT, Transparent, L2 Bridging, L2 Tunneling e Overlay Networks. Certifique-se de compreender seus casos de uso antes de atribuir um driver específico a um contêiner Windows ou Hyper-V.

Os contêineres usam redes de host para implementar redes para aplicativos de contêiner, mas os contêineres também implementam diferentes tipos de redes virtuais para permitir a comunicação interna-interna e a comunicação interna-externa. Cada contêiner do Windows começa com um adaptador de rede virtual. Você pode conectar o adaptador de rede virtual usando qualquer um dos cinco tipos de drivers de rede do Windows disponíveis no contêiner.

Antes de implementar a rede de contêiner, dê uma olhada em todas as opções de rede disponíveis. Por exemplo, você pode querer saber qual driver de rede pode usar para permitir que os contêineres se comuniquem entre si e/ou para habilitar aplicativos de contêiner acessíveis publicamente. Depois de habilitar a função de contêiner em uma máquina Windows Hyper-V, o sistema cria uma nova placa de interface de rede virtual Hyper-V e conecta todos os contêineres Hyper-V ou Windows vNICs ao switch virtual Hyper-V.

Tradução de endereço de rede, NAT

Esta é a opção de rede padrão para contêineres. O controlador Network Address Translation (NAT) fornece encaminhamento de porta, permitindo que você encaminhe o tráfego de contêiner para o host para que os aplicativos possam acessar redes externas. Quando você inicia os contêineres, cada um deles obterá um endereço IP do controlador NAT ou de qualquer rede personalizada que você definiu. O driver do Windows, WinNAT, é responsável por passar a comunicação de rede dos contêineres para o host ou aplicativos externos. Você pode usar o NAT em ambientes de produção, mas existem algumas limitações. Não há suporte para várias sub-redes e não há configuração automática de rede. Qualquer rede que você criar na máquina host também estará disponível para contêineres do Windows.

Redes de contêiner transparentes

Se você deseja que seu contêiner ou aplicativos de contêiner se conectem diretamente a redes físicas, considere a criação de uma rede transparente. Uma rede transparente obtém um endereço IP e configurações de um servidor DHCP (Dynamic Host Configuration Protocol) externo. Você também pode atribuir endereços IP estáticos a redes transparentes. Você pode criar uma rede transparente usando o comando docker network, mas deve especificar -d transparent, conforme mostrado no seguinte comando:

Rede Docker criada - d ProdCustomNet transparente

O comando acima permite que ProdCustomNet obtenha um endereço IP do servidor DHCP, enquanto o comando a seguir cria uma rede transparente com um endereço IP e valores de sub-rede:

Rede Docker create –d transparent –subnet = 172.20.20.0/24 –gateway = 172.20.20.0/24 ProdCustomNet

Se você executar um contêiner em uma máquina virtual Hyper-V e planeja usar um endereço IP estático com uma rede transparente, deverá habilitar MACAddressSpoofing para habilitar o tráfego de rede de vários endereços de controle de acesso à mídia.

Ponte L2 e Tunelamento L2

As redes L2 Bridging e L2 Tunneling são ideais se você planeja usar a virtualização de rede Hyper-V ou rede definida por software (SDN). L2, como o próprio nome sugere, é capaz de tradução de endereço da Camada 2. Ele só pode atribuir endereços IP estáticos para redes L2 Bridging e L2 Tunneling em contêineres. Se você for um provedor de hospedagem em nuvem ou tiver diferentes locatários criando redes L2 Bridging ou L2 Tunneling em contêineres, faz mais sentido usar redes de sobreposição para permitir a comunicação entre vários hosts. Para criar uma rede L2 Bridging, especifique -d l2bridge, conforme mostrado no seguinte comando:

Criação de rede Docker –d l2bridge –subnet = 172.20.20.0/24 –gateway = 172.20.20.1 ProdL2BridgeNet

Redes de contêineres sobrepostas

Se você implantar contêineres no modo de enxame, vários contêineres conectados à mesma rede de sobreposição podem se comunicar entre vários hosts de contêiner. O sistema configura cada rede de sobreposição com um intervalo de endereços privados e sua própria sub-rede.

Qual rede de contêineres devo usar?

Existem muitos casos de uso para drivers de rede do Windows. Por exemplo, você pode usar o NAT para fins de desenvolvimento; redes de contêineres transparentes para fins de desenvolvimento e para implantações de pequeno a médio porte; redes de ponte L2 para implementações SDN; tunelamento L2 para conectar-se a redes do Azure; e rede de sobreposição para quando você implementar clusters de enxame e quiser que os contêineres se comuniquem entre si por meio de hosts.

Saiba mais sobre Contêineres

ComputerWeekly.com.br
ComputerWeekly.es
Close