•  desabrochar luz

Em recipientes

Usando contêineres, o quê e por quê

O que são contêineres

[Containers] é um nome dado a ambientes restritos, possibilitado por uma coleção de subsistemas dentro do Linux como [cgroups ] e [namespaces ] Embora a página wiki use a palavra virtualização Eu acho a palavra isolamento é mais apropriado, uma vez que a virtualização significa que há uma camada de tradução no meio, enquanto o que os cgroups e namespaces fazem é separar e contextualizar os processos.

Cgroups são usados ​​para definir políticas de alocação de recursos, geralmenteRAM eCPU , enquanto os namespaces controlam os contextos como pontos de montagem, rede e usuários. Em vez disso, [Apparmor] fornece uma maneira de restringir os recursos para ambientes de contêineres como um todo, enquanto o apparmor sem contêineres é, como escrito na Wikipédia, baseado em programa.

Ferramentas como flatpak e cadeia de fogousar contêineres, para restringir a superfície de acesso dos aplicativos do usuário. Os contêineres [Windows] implementam sistemas equivalentes e também oferecem suporte para contêineres Linux por meio de [WSL].

Mas por que?

Demais?

Quando comecei a construir pinho , Experimentei enviar minhas próprias imagens de contêiner, distribuídas a partir de lançamentos do github. O script principal (trees ) comandos eram

Usage: trees APP [FLAGS]...
'APP'               Install apps through ostree deltas checkouts.
    -b, --base      base image (alp,trub...)
    -n, --name      same as APP (etcd,hhvm...)
    -f, --force     clear before install
    -d, --delete    clear checkout and prune ostree repo
ck, check           make sure the apps repo is mounted
co, checkout        builds the trees of links for the specified APP
    -t 	            optional path where to build the tree

Era semelhante ao flatpak, já que eu estava enviando um delta estático ostree baseado na imagem principal do pine, e [conferindo] o novo rootfs baseado no aplicativo e, em seguida, lançando uma instância de contêiner em cima dele. O OpenVZ tinha muitos problemas antes da v7 para executar o contêiner (como você sabe ... você estava executando um aninhado contêiner em um baseado em contêiner [VPS], e o kernel era uma bifurcação dev2.6 (!))...era um enorme perda de tempo.

Quando?

Minha tentativa foi obter um tempo de execução mínimo do contêiner sem exigirdocker ou software mais robusto, pois o docker é provavelmente o mais leve, e enxame docker , sendo integrado compartilha muitas funcionalidades e fornece os recursos mais úteis para orquestração, o que o torna o mais leve nos requisitos do sistema host em comparação com k8s ou nômade.

Apesar dos contêineres serem um recurso que você pode desejar na maioria das vezes, a orquestração não é. eu penso vagamente direcionado campanhas publicitárias atraem o não intencional público-alvo para tal software, fazendo-se acreditar que pode ser útil para eles , sem enfatizar a premissa de que você realmente precisa escalar muito (!) para justificar o custo de complexidade de tais configurações. O número de ferramentas de conveniência construído em torno de k8s para auxiliar o processo de bootstrapping de um cluster k8s deve ser evidência suficiente ...

Conclusões

As ferramentas de orquestração acabam ocupando o lugar de soluções para gerenciar máquinas com vários hosts quando os usuários não conseguem distinguir entre servidores para animais de estimação e gado. Em muitas ocasiões, softwares como ansible, pyinfra ou mesmo cssh ou bunda é tudo o que precisamos.

Tags de postagem: