O que é o Container Linux e você deve usá-lo?

Recipientes são cada vez mais populares. O Container Linux, antes conhecido como CoreOS, é um sistema operacional Linux projetado para implementações simples em contêiner. Esta visão geral e prática do Container Linux lhe dirá mais.

Recipientes são cada vez mais populares.  O Container Linux, antes conhecido como CoreOS, é um sistema operacional Linux projetado para implementações simples em contêiner.  Esta visão geral e prática do Container Linux lhe dirá mais.
Propaganda

Sistemas operacionais Linux vêm em uma variedade de sabores. Enquanto os sistemas operacionais Linux, como o Ubuntu, são bastante genéricos, outros ainda visam um nicho. Há o Kali Linux voltado para segurança. Distribuições leves, como o Xubuntu, e até mesmo o Hannah Montana Linux (!). Para uso em desktop, um sistema operacional Linux vanilla funciona bem. No entanto, para tarefas especializadas, como a execução de um servidor, é melhor encontrar uma versão personalizada.

Recipientes são cada vez mais populares. O Container Linux, antes conhecido como CoreOS, é um sistema operacional Linux projetado para implementações simples em contêiner. É um dos mais novos sistemas operacionais Linux de nicho Os mais recentes sistemas operacionais Linux para cada nicho Os sistemas operacionais mais recentes do Linux para cada nicho Os sistemas operacionais Linux são constantemente atualizados, alguns são mais substanciais do que outros. Não tem certeza se deseja atualizar? Confira esses novos sistemas operacionais Linux e veja se você deve experimentá-los. Consulte Mais informação . Confira esta visão geral e prática no Container Linux.

Prático com o Container Linux: Conhecimento em Segundo Plano

Antes de mergulhar no Container Linux, vamos começar com uma breve visão geral da arquitetura do servidor. O Container Linux foi projetado para implementações em cluster. Uma implantação em cluster parece bastante complexa, mas é bastante simples. Essencialmente, um cluster de computadores é composto por vários servidores que trabalham juntos. Portanto, eles funcionam como uma unidade ou sistema, em vez de múltiplos. Além disso, os computadores em um cluster apresentam nós, ou servidores, que executam a mesma função. Portanto, um nó é uma única máquina, enquanto um cluster é um grupo de servidores que trabalham juntos.

As implementações mais comuns do Container Linux estão em ambientes de cluster. A distro anteriormente conhecida como CoreOS inclui até os meios para girar um cluster a partir de apenas uma máquina. O recurso definidor do Container Linux, no entanto, é sua dependência de contêineres.

Ao contrário de um sistema operacional de desktop tradicional, todos os aplicativos são executados em contêineres. Embora as máquinas virtuais (VM) e os contêineres usem métodos de virtualização, os contêineres são diferentes. Ao contrário das VMs, os contêineres utilizam o mesmo kernel do sistema operacional que a máquina host. Como os aplicativos em contêiner e a máquina host usam o mesmo kernel, as implantações de contêineres se beneficiam do aumento da eficiência. Em uma configuração de máquina virtual, cada VM executa um aplicativo mais um sistema operacional convidado. Isso é executado no topo do sistema operacional e do hardware do host.

Implantações com contêineres, em vez disso, executam aplicativos em seus próprios contêineres sobre o software de virtualização. O Docker continua sendo o software de contêiner mais popular, embora o chroot, o LXC e o Linux-VServer estejam entre as alternativas do Docker.

Hands-On com Container Linux: Por que usar contêineres?

OK, então os contêineres são um método de virtualização. Por que optar por um ambiente contentorizado? Normalmente, os contêineres oferecem desempenho aprimorado. Evitando sistemas operacionais separados e, em vez disso, usando um kernel compartilhado, você maximiza a eficiência da CPU, do armazenamento e da memória.

Como você não precisa executar várias instâncias do sistema operacional como faria em uma configuração de VM, é possível executar mais contêineres. Os aprimoramentos de desempenho derivam da necessidade de um único sistema operacional. Da mesma forma, você pode criar contêineres mais rapidamente do que em um ambiente de máquina virtual. Portanto, os contêineres são mais adequados para manter a agilidade e permitir a entrega contínua e a integração contínua.

O desenvolvimento ágil concentra-se na iteração e na fatoração da imprevisibilidade. Você pode ler o Manifesto Ágil para obter mais informações sobre a filosofia ágil. No entanto, apesar das vantagens dos contêineres, não é um método de virtualização perfeito. Como os contêineres compartilham o kernel do sistema operacional do host, há um risco de segurança. Qualquer vulnerabilidade ou violação que afeta um contêiner obtém acesso ao sistema operacional. Mas há uma solução alternativa para executar aplicativos em contêiner em um sistema operacional em uma máquina virtual. Isso garante que o sistema operacional da máquina host seja isolado do sistema operacional do host contêiner singular.

Containerization também requer que os contêineres usem o mesmo sistema operacional. Com máquinas virtuais, cada aplicativo recebe seu próprio sistema operacional. Portanto, você não pode executar aplicativos desenvolvidos para o Windows Server em um ambiente Linux com contêiner e vice-versa.

Prático com o Container Linux: O que é o Container Linux?

Atualização do CoreOS Core

O CoreOS, ou Container Linux, como é chamado agora, é um sistema operacional Linux de código aberto. É uma distro leve destinada a implementações em cluster. Mais especificamente, o CoreOS se concentra em implementações simples, confiáveis ​​e escalonáveis. Você não encontrará um gerenciador de pacotes. Em vez disso, o Container Linux exige que todos os aplicativos sejam executados dentro de contêineres. O Container Linux usa o Chrome OS como base. Portanto, o Container Linux permanece bastante leve. Para testar, eu executei o sistema operacional Linux anteriormente conhecido como CoreOS em uma máquina virtual em um notebook HP ATI Envolvido por AMD A6-1205dx. O consumo de recursos do sistema permaneceu relativamente baixo.

Como o Container Linux evita vários recursos tradicionais do sistema operacional Linux, ele mantém a distribuição leve. Ao contrário de um sistema operacional de desktop, você não encontrará um gerenciador de pacotes. Em vez disso, todos os aplicativos são executados como contêineres do Docker. Isso contribui para a portabilidade e o isolamento de serviços. Se você quer um ambiente de desktop, você está sem sorte. O Container Linux não possui uma interface gráfica com o usuário. Em vez disso, tudo é baseado em linha de comando. O painel do CoreUpdate oferece informações sobre integridade da máquina, serviços em execução e integridade do cluster. Mas só está disponível como um componente na assinatura do Premium Managed Linux.

Arquitetura do Container Linux

O Container Linux é leve e projetado para conteinerização e clustering. Como não há ambiente de desktop, a configuração funciona de maneira diferente de um sistema operacional Linux como o CentOS ou o Ubuntu. Na inicialização inicial, o Container Linux carrega um arquivo cloud-config. Você precisará inserir informações no cloud-config. Isso pode ser um pouco complicado, especialmente para quem não está familiarizado com o cloud-config. Mas é um arquivo essencial que dá ao Container Linux sua capacidade de carregar serviços essenciais, alterar parâmetros e gerenciar clusters.

Além disso, os etcd do etcd e da fleet permanecem integrados ao Container Linux. Ambos os serviços são iniciados na inicialização por padrão. Além disso, na inicialização, o arquivo cloud-config permite que o host saiba como ingressar em um cluster existente. O daemon do etcd distribui e armazena dados para hosts dentro de um cluster. É essencial para manter as configurações, bem como a descoberta de serviços. O daemon de fleet é semelhante a um init distribuído. Esse daemon é vinculado ao init do systemd para hosts em um cluster e cuida de tarefas como o agendamento de serviços.

Cada sistema em um cluster de fleet executa apenas um daemon fleetd . Esse daemon assume duas responsabilidades principais, atuando como agente e mecanismo. Como o mecanismo, o daemon executa decisões de planejamento. Considerando que o lado do agente executa unidades. No cluster de frota, o etcd é o único armazenamento de dados. Tais informações, como a presença do cluster, o estado da unidade e os arquivos unitários, são todos armazenados no daemon do etcd . Além disso, é o meio para o agente de frota e a comunicação do motor.

Hands-On com Container Linux: quem deve usá-lo?

Container Linux é gratuito para download, leve e bastante simples de instalar em uma máquina virtual. Qualquer pessoa que precise de implementações em containeres rápidas e dimensionáveis ​​deve optar pelo Container Linux. Principalmente administradores de sistema e administradores de banco de dados se beneficiarão mais do Container Linux. Como o Container Linux não possui um ambiente de desktop, é mais adequado para gerenciamento de cluster e em uma configuração de servidor. Se você está procurando por um sistema operacional Linux, o Container Linux é uma das 12 melhores distribuições de servidores Linux. 12 Melhores Sistemas Operacionais Linux e Quem Deve Usar os 12 Melhores Sistemas Operacionais Linux e Quem Deve Usar Construindo um Servidor? O Linux é ideal, geralmente oferecendo permissões aprimoradas, maior flexibilidade e estabilidade. Mas qual você deve escolher? Confira os 12 melhores sistemas operacionais de servidores Linux e quem deve usá-los. Leia mais s.

Air Pair apresenta uma excelente descrição sobre os incentivos do CoreOS. Este artigo menciona alta disponibilidade, manutenção de ambiente de produção, controle de versão de software e o etcd como principais empates para o uso do Container Linux. Notavelmente, há também uma comunidade de código aberto incrivelmente dedicada. O Container Linux é feito sob medida para usuários experientes do Linux. A documentação de ajuda, embora abrangente, pressupõe um grau moderado de familiaridade com o Linux. Novatos e usuários iniciantes podem ter um pouco de dificuldade com a instalação inicial.

Mais especificamente, o cloud-config pode ser um desafio. Na seção de comentários de um vídeo de instalação do CoreOS, o usuário do YouTube, Setyoso Nugroho, declarou: “Bom tutorial! Bastante confuso ao aprender a configuração do arquivo # cloud-config no CoreOS. ”Embora a configuração não seja muito difícil, o Container Linux assume uma forte compreensão dos recursos do Linux, como o editor VIM.

Prático com o Container Linux: Como instalar

Existem muitos meios para instalar o Container Linux. De acordo com o site do CoreOS, as plataformas oficiais incluem Amazon EC2, DigitalOcean, Microsoft Azure, bare-metal e OpenStack. Juntamente com empresas como Oracle Linux, CentOS e Suse, o CoreOS é um dos vários sistemas operacionais Linux compatíveis com o Azure O Microsoft realmente ama o Linux depois de tudo? A Microsoft realmente ama Linux depois de tudo? Microsoft e Linux tiveram um relacionamento tumultuado. Ao longo dos anos, os CEOs expressaram o desejo de ver o Linux desaparecer, mas atualmente a história é diferente. A Microsoft realmente gosta de Linux afinal? Consulte Mais informação . Graças a uma comunidade vibrante, também são suportadas plataformas como Packet, Rackspace, Brightbox, VirtualBox e VMware. Eu encontrei o método mais fácil foi instalar o Container Linux no VirtualBox usando um arquivo ISO. Aqui está um guia rápido de como usar o VirtualBox Como usar o VirtualBox: Guia do Usuário Como usar o VirtualBox: Guia do Usuário Com o VirtualBox você pode facilmente instalar e testar vários sistemas operacionais. Mostraremos como configurar o Windows 10 e o Ubuntu Linux como uma máquina virtual. Consulte Mais informação .

Configurando o VirtualBox

Abra o VirtualBox e você será solicitado a fornecer um nome de máquina virtual, tipo de sistema operacional e versão. Eu chamei o meu simplesmente CoreOS. Para o tipo, selecione Linux. Como versão, use o Linux 2.6 / 3.x / 4 / x (64 bits). Clique em Next.

CoreOS Start

Agora você precisa alocar sua memória RAM. O CoreOS sugere um mínimo de 1024 MB de RAM.

RAM do CoreOS

Depois de selecionar sua RAM, você precisará adicionar um disco rígido virtual. Use a opção criar um disco rígido virtual agora.

Criar CoreOS de VHD

Na próxima tela, você será solicitado a inserir um tipo de arquivo no disco rígido. Selecione VDI ou imagem de disco do VirtualBox.

CoreOS VDI

Depois disso, configure seu espaço de armazenamento. Eu recomendo usar um arquivo de disco rígido alocado dinamicamente.

CoreOS Dinâmico

Em seguida, escolha o local e tamanho do arquivo. Deixei o CoreOS padrão como o nome e optei por um tamanho de dados de arquivo de 8 GB.

Alocação do tamanho do arquivo CoreOS

Com sua máquina virtual CoreOS VirtualBox configurada corretamente, vá em frente e clique no botão Iniciar verde.

CoreOS Start

Depois de clicar em Iniciar, você precisará selecionar um disco de inicialização. Navegue até a pasta onde você tem o seu CoreOS ISO e continue.

Configurando o Container Linux

Depois de iniciar seu CoreOS ISO, o Container Linux começa a carregar. Você verá que uma linha fornece sua versão do CoreOS e uma linha de comando:

 core@localhost 

Digitar:

 sudo openssl passwd -1>cloud-config-file 

CoreOS Passwd Config

A linha de comando apresenta um aviso de que, se não puder abrir o arquivo de configuração. Digite sua senha desejada e continue. Em seguida, digite:

 cat cloud-config-file 

CoreOS Cat Cloud Config

Isso retorna uma string longa e cria um novo arquivo cloud-config. Agora abra o cloud-config em um editor visual:

 vi cloud-config-file 

CoreOS VI

Isso carrega um arquivo cloud-config que você pode editar. O CoreOS inclui um arquivo de exemplo avançado de configuração da nuvem:

Exemplo de configuração do CoreOS Cloud

O meu parecia:

 #cloud-config users: moe passwd: [SSL password] groups: - sudo - docker 

CoreOS Cloud Config Ex

Você pode verificar seu arquivo cloud-config digitando:

 cat cloud-config-file 

CoreOS Check Cloud Config

Isso retorna seu arquivo de configuração. Se tudo parece bem, prossiga com a instalação do CoreOS:

 sudo coreos-install -d /dev/sda -C stable -c cloud-config-file 

CoreOS Install Final

Você verá uma mensagem informando que o CoreOS está sendo baixado, gravado e verificado. Assim que terminar, você verá uma mensagem dizendo “Sucesso! O CoreOS [version] está instalado em / dev / sda. ”

Sucesso do CoreOS

Desligue sua máquina virtual CoreOS e, em seguida, inicie o backup. Ao iniciar o backup, certifique-se de desmontar o CoreOS ISO, caso contrário o Live CD será executado novamente.

CoreOS irá carregar e você será um prompt de login na linha de comando:

 localhost login: 

Login final do CoreOS

Digite seu nome de usuário e senha. Isso carregará uma mensagem que diz “Container Linux by CoreOS [versão]” e uma nova linha de comando.

CoreOS de Login Final

Prático com o Container Linux: Próximos Passos

Agora que o Container Linux by CoreOS está instalado corretamente, você pode começar a configurar contêineres e clusters. A documentação do CoreOS apresenta um excelente guia de início rápido. Há informações sobre a descoberta de serviços usando o etcd, bem como uma seção sobre gerenciamento de contêineres com o Docker. Eu realizei alguns testes rápidos, como um "Docker" Hello World. Além disso, instalei uma imagem do Plex Docker porque sou um grande aficionado por servidor de mídia. Finalmente, eu configurei frota para gerenciamento de cluster.

O que você vai querer fazer primeiro é configurar os principais componentes do Container Linux:

  • etcd
  • Docker
  • Frota

Ao configurar essas três fundações principais, você estará pronto para descoberta de serviço, gerenciamento de cluster e configuração de contêineres. Em seguida, você pode começar a contêiner de aplicativos e testar com segurança os aplicativos de desktop em um contêiner seguro do Docker Como testar com segurança os aplicativos de área de trabalho em um contêiner seguro Com o Docker Docker é uma plataforma popular para desenvolvimento e teste aplicativos baseados em servidor. Mas você sabia que também pode usá-lo para proteger com segurança novos programas em sua área de trabalho? Consulte Mais informação .

Hands-On Com Container Linux: Considerações Finais

Eu não uso contêineres com frequência, mas o Container Linux simplificou a implantação. A documentação é excelente com arquivos de configuração de amostra. Observe que, para iniciantes, vários tutoriais não oficiais de instalação de vídeo facilitam as instalações do CoreOS. Enquanto o CoreOS afirma que o Container Linux é leve, eu estava inicialmente cético. No entanto, desenvolvi o Container Linux em uma máquina virtual com um consumo de recursos bastante baixo. E como queria testar se o Container Linux era realmente leve, usei meu laptop HP antigo e não encontrei problemas.

No entanto, algumas etapas na instalação inicial não são muito “amigáveis ​​ao iniciante”. Instalar e configurar o Container Linux requer uma familiaridade robusta com o Linux. Notavelmente, não experimentei o painel do CoreUpdate, que o CoreOS oferece como um recurso premium pago. Embora não tenha problemas ao usar a linha de comando, um ambiente gráfico para monitoramento seria uma boa adição.

Administradores de sistema e administradores de banco de dados se beneficiam ao máximo do Container Linux. No entanto, para servidores domésticos, é um meio simples e leve de criar um ambiente em cluster. Além disso, com o Container Linux, você pode criar um cluster a partir de uma única máquina. Mas o Container Linux é uma ótima introdução ao trabalho com contêineres. Se você estiver tentando aprender mais sobre o Docker e os contêineres, o Container Linux é executado muito bem em uma máquina virtual e oferece todos os recursos de que você precisa para começar.

É uma excelente solução pronta para uso para iniciantes em Container, além de engenheiros de DevOps experientes, administradores de sistemas e administradores de bancos de dados. Em última análise, o Container Linux by CoreOS é um meio simples de criar um ambiente contentorizado, escalável e eficiente.

Você está usando o CoreOS? Você planeja? Deixe-nos saber como você está depositando no Linux na seção de comentários abaixo!

In this article