Rede de contêineres: o que são e como implementá-los

Chegará um momento em que precisaremos dizer adeus às redes, como as conhecemos. Não por causa de seu esquema fundamental, mas pela maneira como eles são implementados e gerenciados no dia-a-dia. A rede de contêineres faz parte de uma tendência que está se fortalecendo em 2020. O que é uma rede de contêineres? Será útil migrar para essa tecnologia agora? Hoje, neste artigo, dizemos tudo o que você precisa saber e fazer antes de tomar essa decisão.

Esses tipos de redes fazem parte de uma evolução do armazenamento (armazenamento) Virtualizado, tecnologias de computação e rede. Lembremos que a virtualização já faz praticamente uma década desde suas primeiras implementações. Os recursos de hardware são compartilhados através das máquinas virtuais já conhecidas. Toda máquina virtual contém um aplicativo específico e uma instância completa do sistema operacional. Usando a virtualização tradicional, um servidor físico pode hospedar várias máquinas virtuais. Cada um deles, por exemplo, poderia ter um hipervisor com três instâncias do sistema operacional em execução separadamente.

rede de contêineres

No entanto, usando contêineres, um único servidor pode hospedar três aplicativos em contêineres, isso requer uma única instância do sistema operacional e os contêineres compartilham seu kernel. Outra vantagem direta é a economia de espaço de armazenamento. Uma máquina virtual pode exigir vários gigabytes de espaço. Um contêiner, por outro lado, precisará apenas de alguns megabytes de espaço. Consequentemente, um único servidor já poderá hospedar muito mais contêineres do que máquinas virtuais. O principal benefício obtido disso é uma maior eficiência no desempenho dos recursos de um data center.

O que preciso fazer para começar a usar contêineres em redes?

É importante determinar a abordagem correta da implantação, isso depende muito das necessidades dos aplicativos, do tipo de implantação que você terá, do uso da automação de processos e do tipo de sistema operacional. As opções mais populares que podemos encontrar hoje são Docker e Kubernetes. Eles possuem subsistemas de rede que podem ser conectados através do uso de Drivers . Os tipos de comunicação que as redes de contêineres suportam são contêiner para contêiner or contêiner para host .

Se a transição para o uso de contêineres tiver sido escolhida, o principal objetivo é criar uma arquitetura distribuída composta de microsserviços. Em que consistem estes? São aplicativos estruturados como conjuntos de serviços. Os principais benefícios do uso de microsserviços é tornar-se uma infraestrutura tolerante a falhas e também muito fácil de atualizar ou aplicar melhorias.

A tecnologia aplicada aos contêineres também permite que cada um dos contêineres seja vinculado de forma que eles sejam aparentemente conectado à mesma interface . Isso, diferentemente dos esquemas de conexão tradicionais, nos quais cada contêiner seria tratado como um dispositivo diferente um do outro. Assim, todas as peças que compõem a infraestrutura poderão se comunicar facilmente e serão distribuídas em diferentes máquinas localizadas em diferentes data centers.

Você já tem algo mais claro? Temos certeza que sim. Agora, citaremos os tipos mais comuns de redes de contêineres:

Os principais tipos de redes de contêineres

  • Redes do tipo ponte . Em inglês, eles são conhecidos como redes de pontes . Ele permite que os contêineres sejam executados no mesmo host para se comunicarem. Mas, os endereços IP atribuídos a cada contêiner não são acessíveis fora desse host. Se você optar pelo Docker, ele terá uma rede de pontes padrão. Portanto, todos os novos contêineres se conectam automaticamente a essa rede. No entanto, existem características que devemos ajustar sim ou sim ao implementar esse tipo de rede:
    • DNS resolução
    • Adicione ou remova contêineres de uma ponte personalizada enquanto eles estiverem em execução
    • Compartilhando variáveis ​​de ambiente entre contêineres
  • Sobrepor redes. Eles são projetados para contêineres executados em hosts diferentes. Eles podem se localizar automaticamente e se comunicar através de sub-redes com túneis. Se esse tipo de rede for escolhido, não será necessário configurar cada um dos contêineres.
  • Redes de hosts. Essa rede possui um controlador que permite que os contêineres tenham suas próprias pilhas de rede, funcionando lado a lado com a pilha que está no host. Um servidor da web, por exemplo, na porta 80 que está em um contêiner está disponível na porta 80 no próprio host. Nesse tipo de rede, se você mapear a porta 80 ou qualquer outra porta para um contêiner, nenhuma outra poderá acessar essa porta no mesmo host.
  • Redes Macvlan. Eles são projetados para aplicativos que trabalham diretamente interagindo com a rede física. Como aplicativos de monitoramento de rede. Esse tipo de rede possui um controlador que não apenas atribui um endereço IP a um contêiner. Caso contrário, um Endereço MAC . Quando usar redes Macvlan? Quando você possui aplicativos que não operam, a menos que dependam de um endereço de rede físico.

Conhecendo os principais tipos de redes de contêineres, é importante ter em mente que sua adoção significará uma mudança muito importante. Tanto nas operações do data center quanto nas práticas para realizá-las. Segundo especialistas do setor, sabe-se que a grande maioria dos equipamentos de rede está familiarizada com uma infraestrutura estática, que nunca muda. Sub-redes já planejadas e estabelecidas, métodos padrão para medir recursos, entre outras coisas. Em um ecossistema baseado em contêiner, as alterações na configuração da rede e nos locais de serviço ocorrem rotineiramente. Portanto, não há controle humano direto da rede. É como se a rede se tornasse uma aplicação imensa e as práticas para gerenciá-la diferissem muito das tradicionais.

Uma das perguntas mais importantes: as redes de contêineres são seguras? Esse tipo de rede está longe do que se pode saber sobre firewalls tradicionais ou sobre os mecanismos de operação dos controles de segurança. Qualquer pessoa ou organização que adote os contêineres precisará segmentá-los para que os aplicativos não interfiram entre si. Além disso, os firewalls precisarão mapear a conectividade para contêineres, não para máquinas virtuais. É ousado supor que essas novas tecnologias de rede sejam completamente seguras, mas não há dúvida de que, com o tempo, as características e medidas de segurança serão reforçadas de acordo com a forma como são adotadas.