LXD

De MediaWiki do Campus São José
Ir para navegação Ir para pesquisar

Sobre

É uma evolução no sistema de gerenciamento de contêineres. O LXD oferece uma experiência similar a de uma máquina virtual, mas usando contêineres Linux. O projeto LXD foi fundado pela Canonical Ltd que é a mantenedora e também recebe contribuições de outras empresas e desenvolvedores individuais.

Exemplos

Criando um contêiner

lxc launch images:imagem/codinome_ou_versão/arquitetura nome_do_conteiner

Criando um contêiner com a imagem base do Debian Stretch.

lxc launch images:debian/stretch/amd64 Debian

Limitando a quantidade de memória RAM

lxc config set conteiner limits.memory 256MB
lxc config set conteiner limits.memory 1GB

Os sufixos suportados são: kB, MB, GB, TB, PB e EB.

Limitando a quantidade de núcleos de CPU

lxc config set conteiner limits.cpu 1

Limitando o uso a núcleos específicos da CPU do hospedeiro

lxc config set conteiner limits.cpu 1,3

Limitando o uso a determinadas faixas de núcleos da CPU do hospedeiro

 
lxc config set conteiner limits.cpu 0-2,6-8

Limitando o uso da CPU a uma determinada porcentagem

lxc config set conteiner limits.cpu.allowance 20%

Limitando o uso do tempo CPU

lxc config set conteiner limits.cpu,allowance 20ms/200ms

Desabilitando o uso de swap

lxc config set conteiner limits.memory.swap false

Criando ponto de montagem

lxc config device add conteiner optdir disk source=/opt path=/opt
lxc config device add conteiner home disk source=/home path=/home

Adicionando um dispositivo ao contêiner

É possível associar um dispositivo do hospedeiro ao contêiner.
Tipos de dispositivos:

  • nic → dispositivo de rede
  • disk → ponto de montagem dentro do contêiner
  • unix-char → dispositivo do tipo caractere Unix
  • unix-blog → dispositivo de bloco Unix
  • usb → dispositivo USB
  • gpu → dispositivo do tipo GPU
  • infiniband → dispositivo do tipo infiniband
  • proxy → dispositivo com função de proxy

Tipo nic

O LXD suporta diferentes tipos de dispositivos de rede:

  • Físico: Passagem direta de um dispositivo físico do hospedeiro para o contêiner. O dispositivo que será redirecionado desaparecerá do hospedeiro e aparecerá no contêiner.
  • Ponte: Usa uma ponte existente no hospedeiro e cria um dispositivo virtual para conectar essa ponte ao contêiner.
  • macvlan: cria um novo dispositivo de rede baseado em um já existente, porém atribuindo um novo endereço MAC.
  • p2p: cria um par de dispositivos virtuais, um dentro do contêiner e outro no hospedeiro.
  • sriov: passa uma função virtual de um dispositivo físico com o SR-IOV ativo para dentro do contêiner.
lxc config device add conteiner dispositivo tipo path=/dev/dispositivo
lxc config device add Debian-kvm kvm unix-char path=/dev/kvm

Documentação no GitHUb

https://github.com/lxc/lxd/blob/master/doc/containers.md