Crear contenedores linux con PROXMOX

En el tercer capítulo sobre entornos virtuales con PROXMOX, comentaremos la creación de contenedores Linux. El tema de los contenedores lo hemos tratado ampliamente en la web, tanto Docker como OpenVZ. Con estos últimos son con los que trabajaremos.

Recapitulemos de lo que hemos hablado hasta ahora. Explicamos en que consistía y cómo se realizaba la instalación y configuración de la insfraestructura virtual, y de cómo crear máquinas virtuales.

Crear contenedores linux con PROXMOX

Vamos al lío, recordemos que los contenedores utilizan plantillas, dichas plantillas, ya sean oficiales o comunitarias, se pueden descargar desde la web. El panel de administración nos facilita en la vista «Almacenamiento«, la posibilidad de cargar plantillas.

proxmox-containers-001

En la nueva ventana tenemos una larga lista con la que trabajar.

proxmox-containers-002

Tenemos disponible todo tipo de plantillas, desde sistemas operativos, tanto Debian, Ubuntu o CentOS, en diferentes versiones, como servicios ya montados como bases de datos, de monitorización, etcétera. Todos son tipo OpenVZ. En mi caso, justo al final de la lista, en la sección llamada «www«, escogeré la plantilla llamada «Drupal«, que como sabéis es un CMS, y así le echo un vistazo.

proxmox-containers-003

Marcamos la plantilla y apretamos el botón «Descargar» Cuando finalice el proceso ya podremos ver el fichero descargado en la lista.

proxmox-containers-004

En la siguiente parte apretaremos el botón «Crear CT» ubicado en la parte superior derecha de la pantalla.

proxmox-containers-005

Si seguimos la serie de capítulos de la guía sobre PROXMOX veremos que el menú de creación es similar que al de máquinas virtuales. En la primera pestaña indicamos el «Nodo«, que sólo tenemos uno, llamado «pve», el «ID» que dejaremos por defecto, el «Nombre del Host«, aquí escribimos un nombre descriptivo, el «Conjunto de Recursos» lo dejamos vacío, en «Almacenamiento«, he escogido el segundo disco, llamado «local1», y por último escribimos la contraseña de acceso dos veces.

proxmox-containers-006

En la pestaña «Plantilla«, marcamos la ubicación de la plantilla y su nombre.

proxmox-containers-007

En «Recursos» seleccionamos la «Memoria«, el «Swap«, el «Tamaño de disco» y el número de «CPUs«, lo recomendable es dejar los campos por defecto. Si estamos en un entorno productivo los parámetros deben ser según las necesidades del producto, usuarios potenciales, número de conexiones concurrentes, etcétera.

proxmox-containers-008

En el apartado «Redes» por defecto viene marcado «Routed mode (venet)» pero como yo quiero utilizar la misma red que el resto de mis máquinas virtuales, he escogido «Modo Puente«

En el apartado DNS, añadiremos el nombre de dominio, y los dos servidores principales. En el último apartado, llamado «Confirmación«, veremos un resumen de todos los datos aportados para el contenedor, y finalizar.

proxmox-containers-009

Si todo el proceso ha ido bien veremos una imagen similar a la anterior.

Gestionar contenedores OpenVZ en PROXMOX

Una vez creado el contenedor nos vamos a la «Vista por Servidor» y allí ya veremos nuestro contenedor tipo OpenVZ

proxmox-containers-010

Al igual que en las máquinas virtuales, marcando sobre él tenemos diferentes pestañas con las que trabajar, la configuración de las redes, los recuros, el DNS, y también sus estadísticas en vivo, gestión de respaldos, etcétera. Para acceder a su consola apretaremos el botón derecho del botón sobre la máquina y, una vez encendido el contenedor, podremos apretar el botón «Consola«

proxmox-containers-011

Al abrir la consola obervaremos que el contenedor utiliza un sistema Debian 6 Squeeze sobre el cual se ha montado el servicio Drupal.

proxmox-containers-012

Recordad que todos los contenedores funcionan sobre el mismo kernel de la infraestructura, es decir, no son un sistema operativo al uso. Es un concepto que nos tiene que quedar bastante claro. Si vemos el kernel del contenedor, veremos que está utilizando el mismo que el de PROXMOX.

proxmox-containers-013

En cualquier caso cosas como los comandos de GNU Linux y la estructura de carpetas es la mima que un SO al uso.

Al iniciar el contenedor veremos que la red no funciona, y eso eso porque no está configurada, para ello debemos editar el fichero /etc/network/interfaces, en el caso que el sistema sea Debian o Ubuntu, y añadirla, por ejemplo, si tenemos una interfaz eth0, sería así:

  1. auto eth0

iface eth0 inet dhcp

En el caso de que IP sea por DHCP, si no sería de manera estática.

A parte de esto tenemos que seguir las instrucciones de cada plantilla, ya que cada una puede tener una configuración diferente, en nuestro caso debemos visitar la página de configuración de la plantilla.

Al tener la dirección IP ya nos podremos ir al navegador, para comprobar si efectivamente Drupal está funcionando.

Escribimos: http://youripaddress/install.php

proxmox-containers-014

Y si todo ha ido bien, ya tendremos el instalador delante de nuestras narices : )

Después de un artículo tan largo, sólo os digo, hasta mañana!!

En el próximo capítulo:

Políticas de backup con PROXMOX

10 Respuestas

  1. Eduardo dice:

    Saludos Compañero

    Interesante tu articulo y bien explicado; pero tengo un pequeño detalle que no logro ver, cuando yo creo un contenedor con las plantillas descargadas como indicas, e inicio dicho contenedor, cuando me voy a consola y me muestra el login; que usuario y contraseña utilizo? pq en el caso de la plantilla de centos7 coloco para iniciar con el usuario root y la contraseña que le coloque cuando estaba creando el contenedor, y me indica login incorrecto; sera q estoy haciendo algo mal o es que no logro ver que estoy haciendo algo incorrecto.

  2. victor dice:

    yo en lo que me pierdo es en darle salida a internet a las maquinas, selecciono el modo puente y pongo ip fija pero de ahi no paso no logro hacer q tenga salida, alguna ayudita?

    • davidochobits dice:

      Hola Víctor,

      Primero prueba de utilizar el contenedor sin asignarle IP estática, es decir, por DHCP, para que así el router le de una IP y unas DNS.

      Ya me dices.

      • victor dice:

        igual, solo decir q tengo proxmox en un servidor dedicado por q quiero trastear en redes q es donde no tengo apenas idea, mi idea es darle una ip a cada VM y el anfitrion gestionar las entradas y dependiendo q viene mandarla a una u otra, ejemp una wiki una vm, una web otra vm, etc pero la cagada esta en cuando no tienen ni salida y con tanta interface virtual etc me pierdo.

        tengo 4 eth0, eth1, vmbr0 y vmbr1

  3. victor dice:

    perdon eso en anfitrion, en vm tengo una eth0 q hace puente a vmbr0 que en la anfitrion hace puente a eth0 q es la q supongo q es la salida pero la verdad es q segun las ips el q tiene salida (deduzco por q la ip publica) la tiene vmbr0 en anfitrion.

  4. Estoy usando proxmox 4 y cuando intento configurar la red me he vuelto un lio, y es que mis container inicialmente no podian hacer contacto (por ejemplo ping) con el host, asi que realice la siguiente configuracion:

    En el host modifique el archivo /etc/network/interfaces y agregue lo siguiente:
    auto vmbr2
    iface vmbr2 inet static
    address 192.168.100.254
    netmask 255.255.255.0
    bridge_ports none
    bridge_stp off
    bridge_fd 0

    y en el container modifique el archivo /etc/network/interfaces de la siguiente manera:
    auto lo
    iface lo inet loopback
    auto eth0
    iface eth0 inet static
    address 192.168.100.1
    netmask 255.255.255.0
    gateway 192.168.100.254

    Con esto logre poder hacerle ping desde el container al host y del host al container, pero ahora no logro que el container tenga internet (pueda acceder a cualquier url de internet, por ejemplo http://www.google.com a traves de ping)

    Podrian ayudarme?

    • davidochobits dice:

      Hola Alejandro,

      A primera vista tiene pinta que te falta la configuración de los DNS. Lo puedes comprobar revisando el fichero: /etc/resolv.conf y añadir las direcciones DNS manualmente en el fichero /etc/network/interfaces, añadiendo la línea:

      «dns-nameservers servidor-dns1 servidor-dns2»

      Saludos

  5. Edu dice:

    Hola buenas, me pasa exactamente lo mismo que Alejandro y todavía no encontré solución, agradeciere un poco de ayuda gracias.

Deja un comentario

This site uses Akismet to reduce spam. Learn how your comment data is processed.