jueves, 31 de enero de 2019

administrar contenedores con LXC

lxc es un cliente para contenedores LXD. con el mismo podemos ejecutar comandos, manejar archivos y en general realizar todas las tareas administrativas en los SO de los contenedores.

veamos que distribución tiene el contenedor:

lxc exec observatorio -- lsb_release -a





 chequeamos la configuración de red:

lxc exec observatorio -- ip a l





se observa que no tenemos ip configurada en el adaptador de red. Sin embargo aquí esta la primer ventaja al administrar contendores. De la misma manera que podemos ejecutar comandos también podemos obtener un shell dentro del contenedor

lxc exec observatorio -- sudo --login --user ubuntu






En esta instancia, los procesos de instalar LAMP y migrar las bases de datos y directorio se realizan directamente en ubuntu.

cambiamos la configuración de red para que obtenga ip por dhcp y comprobamos:





creamos un snapshot del contenedor

lxc snapshot observatorio ubnt16







Creamos un nuevo contenedor a partir del snapshot

lxc copy observatorio/ubnt16 ProxyBibcyt









martes, 29 de enero de 2019

Migrar servidores virtualbox a LXD


Ante la puesta en producción de un nuevo servidor web que contiene otros servidores virtualizados con virtualbox decidí poner en práctica parte de lo aprendido en TUASySL y migrar a LXD lo que en principio trae la ventaja de utilizar los recursos de una forma más adecuada y eficiente.

No es exactamente una migración ya que no voy a convertir las vm en contenedores sino que voy a crear contenedores y migraré a esa infraestructura los servidores web migrando, sí en este caso, los contenidos del servidor.

ubuntu server 16.04 LTS ya trae instalado LXD por default por lo que solo toca configurarlo.

Agregamos nuestro usuario al grupo lxd para poder realizar las tareasa administrativas de containers

sudo usermod --append --groups lxd hector
 

Vamos a usar ZFS como sistema de archivos para los contenedores, para ello instalamos las herramientas necesarias
 
sudo apt-get install zfsutils-linux


 Iniciamos el servicio lxd

sudo lxd init







como se puede observar se nos hace una serie de preguntas referidas a las características que tendrá el container, el tipo de conexión, la configuración de la red, etc.

Ya tenemos configurado el bridge en nuestro host para acceder al container






comprobamos que lxd esta funcionando listando los contenedores.

lxc list






descargamos un contenedor ubuntu
lxc init ubuntu:16.04 observatorio



con lxc init solo descargamos el contenedor, sin iniciarlo

lxc list








Fuentes:
https://www.digitalocean.com/community/tutorials/how-to-set-up-and-use-lxd-on-ubuntu-16-04
https://discuss.linuxcontainers.org/t/give-public-ip-one-container-with-custom-bridge/297