Artigo
· Jul. 12, 2021 3min de leitura

Os pensamentos de Shakespeare sobre os contêineres do Linux

Recentemente, eu estava respondendo a algumas perguntas que alguém tinha sobre alguns bugs que surgem no Docker para Mac, e isso me lembrou o que Shakespeare escreveu em sua famosa tragédia sobre orquestração de software em grande escala, Kubelet: o Príncipe do Benchmark.  

Ao executar o Docker no Mac ou Windows, alguns problemas surgem ocasionalmente, porque o Docker para Mac e o Docker para Windows estão usando alguns truques inteligentes e quase totalmente ocultos para serem executados. Os contêineres são, fundamentalmente, uma tecnologia Linux, combinada a partir de um punhado de recursos nativos da plataforma Linux. No entanto, eles são tão populares e úteis que muitas pessoas gostariam de executá-los em seus desktops / laptops normais. Então, o pessoal da Docker, Inc. montou clientes para essas plataformas que ativam secretamente uma máquina virtual Hyper-V que executa Linux e executam seus contêineres dentro dela, no Linux.  

Essa camada de virtualização extra vem com complexidades extras. A ponte de rede frequentemente colide com o software VPN. No Windows, você tem um problema adicional em que a semântica do sistema de arquivos do Windows e a semântica do sistema de arquivos do Unix são muito diferentes e não traduzem bem. (Felizmente, FreeBSD e Linux são semelhantes o suficiente para que o Docker para Mac geralmente não tenha esse problema.) Em ambas as plataformas, você precisa ter algum protocolo para fazer as montagens de ligação funcionarem na camada de virtualização.  

É natural que alguns usuários queiram executar "containers, mas no Windows". Por meio do Docker para Windows ou Mac, podemos dar a eles a ilusão disso, mas, em última análise, ambos os clientes são programas de fumaça e espelho. Quanto mais interagimos com eles e quanto mais complicamos as coisas que fazemos com eles, como redes de serviços de vários contêineres, mais a ilusão se desintegra.  

Se você quiser uma boa experiência com contêiner, faça a migração para o Linux. Comprometa-se com isso. Transferir pode ser difícil, mas pode valer muito a pena! Como o Bardo escreveu:  

KUBELET: Portar ou não portar - eis a questão:  
Se é mais nobre na mente sofrer

As fundas e flechas da virtualização ultrajante

Ou para pegar em armas contra um mar de erros,

E com a portabilidade do sistema operacional, acabe com eles.

Para mover, para a porta -

Uma tarefa - e por um porto para dizer que acabamos

A dor no coração e os mil choques naturais

Que o Windows e o Mac são herdeiros.

É uma tradução Devotamente desejável.

Para mover, para a porta -

Para portar - talvez para construir: ai, aí está o problema,

Pois naquela terra do Linux o que o Kubernetes pode vir

Quando tivermos retirado esta bobina do Windows,

Deve nos dar uma pausa.

Aí está a mudança, que torna a calamidade de ciclos de vida tão longos.

Para quem suportaria os bugs e port-forward do Mac,

O Windows fsync, a impedância incompatível

As dores de arquivos persistentes, atraso de I / O,

A insolência do Hyper-V e as rejeições

Essa camada de abstração que se esconde por baixo,

Quando ele mesmo pode fazer com que sua produtividade

Adotando o Linux nativo?

Quem iria resistir,

Para grunhir e suar sob uma luta misteriosa,

Mas que o medo de mudar para outra plataforma,

A árvore-fonte desconhecida, de cujo Bourne

Nenhum arquiteto acha adequado sair, confunde a vontade,

E nos faz suportar os insetos que temos,

Do que voar para plataformas que não conhecemos?

Assim, o Windows torna todos nós covardes,

E, portanto, o matiz nativo desta solução

Está encoberto com o que o Hyper-V criou

E software empresarial de grande altura e momento

Com relação a isso, seus leads de vendas se afastam,

E perca o apelo à ação.  

Discussão (0)1
Entre ou crie uma conta para continuar