Además de las máquinas virtuales, en Proxmox tenemos la posibilidad de crear y gestionar contenedores: Linux Containers (LXC).
Los contenedores son una alternativa ligera a las máquinas totalmente virtualizadas. Utilizan el núcleo del sistema anfitrión en el que se ejecutan, en lugar de emular un sistema operativo completo.
Como ventaja, podemos indicar que los recursos para la ejecución de LXC son bajos. Pero tenemos también la limitación de que sólo podemos crear contenedores con distribuciones Linux. No es posible ejecutar otros sistemas operativos como, por ejemplo, FreeBSD o Microsoft Windows dentro de un contenedor.
En esta unidad vamos a aprender a trabajar con LXC en Proxmox.
Los contenedores LXC se crean a partir de una plantilla. Una plantilla es el sistema de ficheros que va a utilizar el contenedor. Tendremos plantillas para las distintas distribuciones de Linux.
En Proxmox necesitamos descargar las plantillas que vamos a usar para la creación del contenedor LXC. Al crear un contenedor se clonará la plantilla para que el contenedor tenga su sistema de fichero. Este proceso se hace de manera muy rápida.
Descargar plantillas en Proxmox
Como indicamos en unidades anteriores, en la fuente de almacenamiento Local podemos guardar, entre otras cosas, las plantillas que usaremos para crear los contenedores.
De esta forma, si accedemos al almacenamiento Local, y elegimos la opción CT Templates accedemos a la ventana que nos permite gestionar las plantillas.
Tenemos tres formas de obtener plantillas:
Upload: Podemos subir una plantilla que tengamos en nuestro ordenador local.
Download from URL: Podemos descargar una plantilla usando una URL.
Templates: Proxmox nos ofrece un repositorio con un conjunto de plantillas que podemos descargar.
En este curso vamos a usar esta tercera opción. Podemos elegir, por ejemplo, el template de Ubuntu-20.04-standard y descargarlo con el botón Download.
Además, tenemos un buscador que nos permite buscar por nombre:
Una vez descargada:
Podemos comprobar que tenemos la plantilla disponible:
Después de descargar las plantillas de contenedores con las que vamos a trabajar, estamos en disposición de crear un contenedor LXC. En este apartado vamos a explicar la creación de un contenedor LXC. Sólo indicaremos las opciones más básicas para su creación.
Elegimos la opción de crear un contenedor LXC:
Y seguimos los siguientes pasos:
Identificar el contenedor LXC
Indicamos el nodo donde se va a crear el contenedor, su ID y su nombre. Además, tendremos que indicar la contraseña de acceso para el usuario root del contenedor o indicar nuestra clave ssh pública para el acceso al contenedor.
Elegimos la plantilla
Elegimos la plantilla desde la que vamos a crear el contenedor entre las que hemos descargado anteriormente. La plantilla se escogerá del medio de almacenamiento local.
Selección del disco
En este apartado seleccionamos la configuración del disco raíz del contenedor que vamos a crear. Elegimos el medio de almacenamiento para almacenar el disco, por ejemplo, local-pve, (en este caso el disco de la máquina se guardará en un volumen lógico). También indicaremos el tamaño del disco.
Selección de la CPU
Seleccionamos el número de cores de vCPU que va a usar el contenedor.
Configuración de la memoria
Indicamos la cantidad de memoria que tendrá nuestra máquina virtual (en MiB no MB (!)).
Configuración de red
En un principio nuestra máquina estará conectada al bridge externo vmbr0 y la tarjeta de red se llamará eth0. Esta configuración se puede cambiar, y podríamos conectar nuestro contenedor a un bridge software definido por nosotros. Además, tendremos que decidir si la configuración de red será automática (DHCP) o manual, indicando la dirección (con formato IPv4/CIDR) y la puerta de enlace.
Configuración DNS
En el último paso podemos configurar los servidores DNS que va a utilizar el contenedor o dejarlo sin rellenar, con lo que utilizará los DNS definido en el servidor Proxmox.
Utilización del contenedor
Una vez que se ha creado el contenedor, podemos iniciarlo: