LXC Web Panel para Linux Containers
Hace unos días estuvimos hablando de los Linux Containers (LXC), tanto del concepto en sí, como de su instalación y configuración en un servidor GNU Linux. Para ello utilizamos la consola de comandos o shell, en una distribución Debian “Jessie” En el artículo de hoy hablaremos de una interfaz gráfica (gui) llamada LXC Web Panel.
Sobre LXC Web Panel
Se trata de una interfaz gráfica, que funciona vía web, que nos facilita la interacción con los contenedores. Es software libre, ya que utiliza una licencia MIT. Si visitamos su web nos quedaremos gratamente sorprendidos, visitando su sección de pantallazos “screenshoots”. El problema reside en que según leemos sólo funciona sobre servidores Ubuntu, a partir de la versión 12.04 Por lo que he investigado un poco, y me he encontrado con un “fork” (enlace) que si funciona en diferentes distros, entre ellas, Debian. De hecho añade más funcionalidades y correcciones a “bugs” Entre estas funcionalidades se encuentra la capacidad de copias de seguridad, interfaz RestAPI o soporte para LDAP
Instalación sobre Debian “Jessie”
Antes de nada habilitaremos los repositorios “backports”, para así tener las últimas versiones de los programas. Podemos ver como hacerlo aquí. Y de paso actualizamos el sistema:
apt-get -y update
apt-get -y upgrade
Ahora seguiremos los pasos indicados en la página del proyecto en GitHub. Realizaremos la instalación manual, para así ver y comentar todos los pasos. Antes de nada nos descargaremos la llave pública del repositorio.
#Instalamos curl
apt-get -y install curl
#Descargamos la llave pública
curl https://packagecloud.io/gpg.key | apt-key add -
Y volvemos a refrescar los repositorios:
apt-get -y update
Para verificar los repositorios, utilizaremos la herramienta de Debian, «debian-archive-keyring so»
apt-get install debian-archive-keyring
Lo más probable es que ya lo tengamos instalado. Y también instalamos, si no la tenemos, la herramienta necesaria para utilizar repositorios ubicados en url https.
sudo apt-get install -y apt-transport-https
Añadimos los repositorios del proyecto, para así poder utilizarlos:
touch /etc/apt/sources.list.d/claudyus_LXC-Web-Panel.list
Y utilizando un editor como nano, vim u otros. Lo editamos para añadir las líneas:
deb https://packagecloud.io/claudyus/LXC-Web-Panel/ubuntu/ trusty main
deb-src https://packagecloud.io/claudyus/LXC-Web-Panel/ubuntu/ trusty main
Si leemos la guía de instalación nos recomienda adaptar los repositorios a nuestro distribución, que en mi caso sería, cambiar «ubuntu» por «debian» y «trusty» por «jessie» Pero la cuestión es que aunque sí es verdad, que al realizar la actualización de repositorios todo funciona correctamente, al intentar instalar el instalador «lwp«, de la versión 0.9, no lo encuentra. Por lo que, si lo dejamos como esta, funcionará correctamente.
Actualizamos repositorios y a posteriori instalamos el paquete.
apt-get -y update
apt-get -y install lwp
Todavía no hemos terminado. Para que el panel esté accesible debemos realizar un último paso. Debemos copiar el fichero /etc/lwp/lwp.example.conf al fichero /etc/lwp/lwp.conf
Sólo nos queda reiniciar el servicio «service lwp restart» y acceder al panel, mediante la url http://localhost:5000 La credencial de usuario es «admin» y la contraseña «admin«
Trabajar con LXC Web Panel
Vamos a empezar a trabajar, lo primero que veremos será el panel de acceso, donde debemos introducir las credenciales antes comentadas.
Una vez dentro podemos ver las diferentes secciones. Entre las que se encuentra en la parte izquierda la barra de herramientas, y justo en la parte derecha el visor de estado del servidor.
Ahora mismo sólo tenemos un contenedor creado, llamado «debian8» El panel nos muestra diferente información del servidor, tanto la CPU, el espacio utilizando en disco o la memoria disponible y utilizada. Si marcamos sobre el nombre del contenedor, veremos una serie de parámetros de su configuración, que podemos modificar.
Podemos cambiar su nombre, la configuración de red, si debe arrancar al inicio del sistema, entre otras muchas cosas. El resto de herramienta sería la configuración de red, la «API tockens» y un botón que nos permitá obtener información de la configuración, llamado «Check config» Si volvemos la vista al panel principal, tenemos varias opciones interesantes. Una de ellas nos permite clonar un contenedor determinado.
Indicaremos al sistema el nombre del contenedor a clonar, que nos aparecerá en un desplegable, y el nombre del nuevo contenedor clonado. La siguiente opción será «Create CT», que nos permitirá crear un contenedor, desde la interfaz web.
Una vez allí podemos utilizar un desplegable con diferentes distribuciones. El problema es que, a parte de la propia Debian, el resto de distros para poder utilizarlas ,debemos instalar para cada una de ellas, una serie de herramientas y librerías. Eso, quizás, lo veremos en otro capítulo. A modo de prueba, creamos un contenedor, utilizando Debian.
Una vez creado, puede tardar un rato, según la capacidad del servidor, los veremos creado:
Lo he llamado DebianWebServer-node1. Hay que tener en cuentra, que a diferencia de un contenedor clonado, que hereda la configuración del origen, el nuevo contenedor tiene la configuración vacía. Otro apartado importante del panel son los «Backups CT» , que nos permitirá grabar una imagen del contenedor en una ubicación específica.
Con esto lo dejamos por hoy, espero que os haya parecido interesante. Si tenéis cualquier comentario, lo podéis dejar más abajo.