Iniciando os trabalhos com LXD

- 3 minutos para ler

Desde que conheci a tecnologia de contêineres eu sempre mexi com Docker e pra mim é uma tecnologia muito boa e funcional! Uso ele direto no meu dia a dia no meu notebook para meus diversos projetos! É Node.JS, PHP ou C#, sempre que posso monto todo o projeto dentro de contêineres e procuro locais onde essa tecnologia é aplicada para publicar minhas imagens. Mas eis que em uma daily onde trabalho, começamos uma discussão sobre uso de contêineres e chegamos na discussão do LXC (Linux Contêineres) e com isso me lembrei de uma pesquisa que fazia muito tempo que queria fazer em meus horários livres, mas sempre esquecia: Afinal, como funciona esse LXC… E o que é o conceito do LXD??? Qual a diferença entre LXC e LXD?? E como eu, um rato de Docker posso aprender a brincar com estas outras tecnologias de contêineres? E será útil para algo na minha vida em meu notebook como é hoje o Docker??

Ok, então comecei do principio: Pesquisando LXD e LXC. Com isso cheguei a um vídeo no Youtube muito legal e esclarecedor que comenta e elucida dúvidas sobre o que é um e o outro, e ainda como bônus me ajudou a entender onde o Docker entra no meio disso tudo! Segue abaixo ele:

Então pelo que o Anthony James e o Chad Miller comentam no vídeo, LXD é basicamente o daemon e o LXC é o cliente (nos referindo a comandos) e que no final o conceito é o mesmo. Outra coisa que o vídeo esclarece é quanto a o que fica neste tipo de contêiner: Basicamente um “nano Linux”, uma virtualização a nível de sistema operacional e não de hardware! Partindo disto, comecei a instalar então o LXD e o LXC no meu notebook (Ubuntu 18.04):

$ sudo apt update
$ sudo apt install lxd
$ sudo apt install lxc-client

Depois de instalado comecei os testes:

$ lxc launch ubuntu: ubuntu-teste

Com isso, de maneira muito similar o Docker, ele baixou esse tal “nano Linux” e começou a rodar! Para ver rodando os contêineres, usei o comando lxc list e para entrar no contêiner, usei:

$ lxc exec ubuntu-teste bash

E a partir daí todos os comandos são executados como root do contêiner, de maneira muito similar também ao Docker. Mas então vem a questão: Falei até agora que tudo é similar ao Docker, então porque usar LXD? Pelo que comenta o Chad Miller no vídeo acima, o Docker foi a evolução natural do uso das imagens e com isso o propósito destes dois mudou. Pensando rapidamente, podemos ver nos repositórios do Docker que ele quer e se torna cada vez mais um PaaS (Platform as a service), entregando pacotes de software prontos, como Wordpress, Node.JS, PHP, MySQL, etc. E por outro lado o LXD/LXC pretendem continuar sendo uma forma de conteinerização de SO, onde a entrega esta mais para um auxilio no processo de software-defined datacenter melhorando a entrega da IaaS (Infrestructure as a service);

Então o post acaba por aqui, apenas introduzindo os meus estudos rápidos sobre LXD. Assim que tiver mais laboratórios, volto aqui para mais posts!

Luiz Pereira de Souza Filho

Luiz Pereira de Souza Filho

Absorvendo a cultura devops desde 1997! Formado em Segurança da Informação pela UNISINOS, consultor em Cloud Computing, programador Web-Mobile e gamer casual! Trabalha atualmente como Cloud Engineer na Umbler e como professor no curso técnico em informática na IENH.

comentários do Disqus
rss facebook twitter github gitlab youtube mail spotify lastfm instagram linkedin google google-plus pinterest medium vimeo stackoverflow reddit quora quora