Propaganda

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

Os contêineres são cada vez mais populares. O Container Linux, anteriormente conhecido como CoreOS, é um sistema operacional Linux projetado para implantações em contêiner simples. É um dos mais recentes sistemas operacionais de nicho Linux Os mais novos sistemas operacionais Linux para todos os nichosOs sistemas operacionais Linux são atualizados constantemente, com alguns mais substanciais 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 visão prática do Container Linux.

instagram viewer

Trabalho Prático com Container Linux: Conhecimento de 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 implantaçõ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 e não como 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 implantações mais comuns do Container Linux estão em ambientes de cluster. A distribuição anteriormente conhecida como CoreOS ainda inclui os meios para criar um agrupar a partir de apenas uma máquina. O recurso definidor do Container Linux, no entanto, é sua dependência de containers.

Ao contrário de um sistema operacional de desktop tradicional, todos os aplicativos são executados em contêineres. Enquanto máquinas virtuais (VM) e contêineres usam métodos de virtualização, os contêineres diferem. 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êiner se beneficiam de maior eficiência. Em uma configuração de máquina virtual, cada VM executa um aplicativo mais um sistema operacional convidado. Isso é executado sobre o sistema operacional e o hardware do host.

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

Hands-on com Container Linux: Por que usar Containers?

OK, então os contêineres são um método de virtualização. Por que optar por um ambiente em contêiner? Normalmente, os contêineres oferecem desempenho aprimorado. Evitando sistemas operacionais separados e usando um kernel compartilhado, você maximiza a eficiência da CPU, armazenamento e 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.

Desenvolvimento ágil concentra-se na iteração e fatoração na imprevisibilidade. Você pode ler o Manifesto ágil para obter mais informações sobre a filosofia ágil. No entanto, apesar das vantagens dos contêineres, esse não é um método de virtualização perfeito. Como os contêineres compartilham o kernel do sistema operacional 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 host de contêiner singular.

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

Hands-on com Container Linux: O que é Container Linux?

Atualização do CoreOS Core

O CoreOS, ou Container Linux, como é chamado agora, é um sistema operacional Linux de código aberto. É uma distribuição leve destinada a implantações em cluster. Mais especificamente, o CoreOS se concentra em implantaçõ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 em 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 laptop antigo HP Envy m6-1205dx AMD A10. O consumo de recursos do sistema permaneceu bastante baixo.

Como o Container Linux evita vários recursos tradicionais do sistema operacional Linux para desktop, 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 do serviço. Se você deseja um ambiente de área de trabalho, está sem sorte. O Container Linux não possui uma interface gráfica do usuário. Em vez disso, tudo é baseado em linha de comando. o Painel do CoreUpdate oferece informações sobre a integridade da máquina, serviços em execução e integridade do cluster. Mas está disponível apenas como um componente no Assinatura Premium do Linux gerenciado.

Arquitetura de Container Linux

O Container Linux é leve e projetado para contêiner e cluster. Como não há ambiente de desktop, a configuração funciona de maneira diferente do que em um sistema operacional Linux como o CentOS ou Ubuntu. Após a inicialização, o Container Linux carrega um arquivo de configuração em nuvem. Você precisará inserir informações na configuração da nuvem. Isso pode ser um pouco complicado, especialmente para aqueles que não estão familiarizados com a configuração da nuvem. Mas é um arquivo essencial que dá ao Container Linux a capacidade de carregar serviços essenciais, alterar parâmetros e gerenciar clusters.

Além disso, o etcd e frota daemons permanecem integrados ao Container Linux. Esses serviços são iniciados na inicialização por padrão. Além disso, na inicialização, o arquivo de configuração em nuvem permite que o host saiba como ingressar em um cluster existente. o etcd O daemon distribui e armazena dados para hosts em um cluster. É essencial para manter as configurações e a descoberta de serviços. o frota daemon é semelhante a um init distribuído. Este daemon está vinculado ao systemd init para hosts em um cluster e cuida de tarefas como agendamento de serviços.

Cada sistema em um frota cluster executa apenas um frota daemon. Esse daemon assume duas responsabilidades principais, atuando como agente e mecanismo. Como o mecanismo, o daemon executa decisões de planejamento. Enquanto o lado do agente executa unidades. No cluster de frota, etcd é o único armazenamento de dados. Essas informações, como presença de cluster, estado da unidade e arquivos da unidade, são todas armazenadas no diretório etcd daemon. Além disso, é o meio de comunicação entre agentes e motores da frota.

Hands-on com Container Linux: Quem deve usá-lo?

O Container Linux é gratuito para download, leve e bastante simples de instalar em uma máquina virtual. Qualquer pessoa que precise de implantações em contêiner rápidas, escaláveis ​​e deve optar pelo Container Linux. Principalmente, os administradores de sistemas e de banco de dados se beneficiarão mais do Container Linux. Como o Container Linux não possui um ambiente de área de trabalho, é mais adequado para gerenciamento de cluster e em uma configuração de servidor. Se você está procurando um sistema operacional para servidor Linux, o Container Linux é um dos 12 melhor distribuição de servidores Linux 12 Melhores Sistemas Operacionais para Servidores Linux e Quem Deve Usá-losConstruindo 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 para servidores Linux e quem deve usá-los. consulte Mais informação s.

O Air Pair apresenta uma excelente gravação Incentivos CoreOS. Este artigo menciona alta disponibilidade, manutenção do ambiente de produção, controle de versão de software e etcd como principais características para o uso do Container Linux. Notavelmente, também há uma comunidade de código aberto incrivelmente dedicada. O Container Linux é adaptado para usuários experientes do Linux. A documentação da ajuda, embora abrangente, pressupõe um grau moderado de familiaridade com o Linux. Usuários iniciantes e iniciantes podem ter problemas com a instalação inicial.

Mais especificamente, a configuração da nuvem pode ser um desafio. Na seção de comentários de um Vídeo de instalação do CoreOS, Usuário do YouTube Setyoso Nugroho afirmou: “Bom tutorial! Bastante confuso ao aprender a configuração do arquivo # cloud-config no CoreOS. ” Enquanto a configuração não é terrivelmente difícil, o Container Linux assume uma forte compreensão de recursos do Linux como o VIM editor.

Hands-on com 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. Além de Oracle Linux, CentOS e Suse, o CoreOS é um dos poucos Sistemas operacionais Linux compatíveis com o Azure Afinal, a Microsoft realmente ama o Linux?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. Afinal, a Microsoft realmente gosta do Linux? consulte Mais informação . Graças a uma comunidade vibrante, plataformas como Packet, Rackspace, Brightbox, VirtualBox e VMware também são suportadas. Eu achei o método mais fácil foi instalar o Container Linux no VirtualBox usando um arquivo ISO. Aqui está um guia rápido sobre como usar o VirtualBox Como usar o VirtualBox: Guia do UsuárioCom o VirtualBox, você pode instalar e testar facilmente 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 de CoreOS. Para o tipo, selecione Linux. Como versão, use Linux 2.6 / 3.x / 4 / x (64 bits). Clique em Avançar.

Início do CoreOS

Agora você precisa alocar sua 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 VHD CoreOS

Na próxima tela, você será solicitado a digitar um tipo de arquivo do 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 Dynamic

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

Alocação de tamanho de arquivo CoreOS

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

Início do CoreOS

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

Configurando o Container Linux

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

core @ localhost

Digitar:

sudo openssl passwd -1> arquivo de configuração em nuvem
Configuração do CoreOS Passwd

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

arquivo de configuração de nuvem cat
Configuração de nuvem de gato CoreOS

Isso retorna uma cadeia longa e cria um novo arquivo de configuração em nuvem. Agora abra a configuração da nuvem em um editor visual:

vi arquivo de configuração em nuvem
CoreOS VI

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

Exemplo de configuração de nuvem do CoreOS

O meu parecia:

# cloud-config users: moe passwd: [senha SSL] grupos: - sudo - docker. 
CoreOS Cloud Config Ex

Você pode verificar seu arquivo de configuração em nuvem digitando:

arquivo de configuração de nuvem cat
Configuração da nuvem de verificação do CoreOS

Isso retorna seu arquivo de configuração. Se tudo parecer bom, continue com a instalação do CoreOS:

sudo coreos-install -d / dev / sda -C estável -c cloud-config-file
Final de instalação do CoreOS

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 [versão] está instalado em / dev / sda. ”

Sucesso do CoreOS

Encerre sua máquina virtual CoreOS e, em seguida, inicie-a novamente. Ao iniciar o backup, desmonte o ISO do CoreOS ou o CD ao vivo será executado novamente.

O CoreOS será carregado e você receberá 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.

Login final do CoreOS

Hands-on com Container Linux: próximas etapas

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 uma excelente Guia rápido. Há informações sobre a descoberta de serviços usando o etcd, além de uma seção sobre gerenciamento de contêineres com o Docker. Eu realizei alguns testes rápidos, como um puxão do Docker "Hello World". Além disso, instalei uma imagem do Plex Docker porque sou um grande fã de servidores de mídia. Por fim, configurei a frota para gerenciamento de cluster.

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

  • etcd
  • Docker
  • Frota

Ao configurar essas três bases principais, você estará pronto para a descoberta de serviços, gerenciamento de cluster e configuração de contêineres. Em seguida, você pode começar a contêiner de aplicativos e testando com segurança os aplicativos da área de trabalho em um contêiner Docker seguro Como testar aplicativos de área de trabalho com segurança em um contêiner seguro com o DockerO Docker é uma plataforma popular para desenvolver e testar aplicativos baseados em servidor. Mas você sabia que também pode usá-lo para executar com segurança novos programas na sua área de trabalho? consulte Mais informação .

Hands-on com Container Linux: considerações finais

Não uso contêineres frequentemente, 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 não oficiais tutoriais de instalação de vídeo facilite a instalação do CoreOS. Embora o CoreOS afirme que o Container Linux é leve, inicialmente fiquei cético. No entanto, criei o Container Linux em uma máquina virtual com um consumo de recursos bastante baixo. E como eu queria testar se o Container Linux era realmente leve, usei meu laptop HP antigo e não encontrei problemas.

No entanto, algumas etapas da instalação inicial não são muito "amigáveis ​​para iniciantes". A instalação e configuração do Container Linux requer uma familiaridade robusta com o Linux. Notavelmente, eu 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.

Os administradores de sistema e administradores de banco de dados são os que mais se beneficiam com o 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 ativar um cluster a partir de uma única máquina. Mas o Container Linux é uma ótima introdução ao trabalho com contêineres. Se você está tentando aprender mais sobre o Docker e os contêineres, o Container Linux funciona muito bem em uma máquina virtual e oferece todos os recursos necessários para começar.

É uma excelente solução pronta para uso para iniciantes em contêiner, além de engenheiros, administradores de sistemas e administradores de banco de dados experientes do DevOps. Por fim, o Container Linux by CoreOS é um meio simples de criar um ambiente em contêiner escalável, eficiente e escalável.

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

Moe Long é escritor e editor, cobrindo de tudo, de tecnologia a entretenimento. Ele ganhou um BA inglês da Universidade da Carolina do Norte em Chapel Hill, onde foi bolsista da Robertson. Além do MUO, ele foi destaque em htpcBeginner, Bubbleblabber, The Penny Hoarder, Tom's IT Pro e Cup of Moe.