El bog de pepramon

Cambiando de idea. Hola Proxmox

Categorías: servidor
Tags: proxmox

Estoy analizando ideas para el servidor que me sirva de cara a futuro. En este post intento ponerlo por escrito el cambio de Docker a Proxmox

Introducción

Hay varias cosas con Docker que nunca me han terminado de gustar, era un conocimiento inconsciente que en el último tiempo se ha hecho cada vez más presente y he empezado a ser consciente de que era.

Por esto, llevo un tiempo analizando alternativas a Docker como elemento principal de mi servidor para cambiarlo por algo. No significa que me olvide de Docker, sino que lo utilizaré donde crea que realmente es conveniente.

También me he propuesto hacer el cambio poco a poco, y a poder ser documentarlo lo mejor posible en este blog. Esto no significa que sea algo rápido (como se puede ver hace meses que no escribo), me lo quiero tomar con calma.

Docker

Lo que no me gusta de Docker

Seamos claros, la gestión de red de Docker no es lo mejor del mundo, ya que está pensado paro lo que está pensado, para una aplicación. Por tanto, cuando se quieren añadir diferentes aplicaciones, la gestión de la red se puede volver una locura.

Hay algún post anterior donde se puede ver como solucioné este tema, pero eso que automáticamente toque Iptables, no es santo de mi devoción. Llamadme raro, pero como no termino de entender como gestiona la red, y el routing no me termina de gustar, lo dejaré para lo que es, servir aplicaciones en concreto.

A parte de esto, la ocupación en disco de las aplicaciones. Por poner un ejemplo, utilizar nexcloud son casi 2Gb de imágenes (NC, BBDD, Redis) cuando realmente el código fuente son 250Mb, ¿es necesaria tanto? Pues seguramente no. También existe el problema que las configuraciones son las que ha pensado el desarrollador de la imagen, cosa que hace que cada vez se vayan preparando “trapis” para solucionar los problemas.

Finalmente, cuando se utilizan contenedores que necesitan algún privilegio, como por ejemplo gitea/ACT para automatizar despliegues, imágenes que requieren del kernel (hola wireguard), etc… hace que la configuración pueda llegar a ser confusa para profanos en la materia como yo.

Las fortalezas de Docker

Un tema que si que es muy interesante si uno no se sale de lo normal, es que con un docker-compose, se levanta un servicio en un momento. Copiar receta, ejecutar y configurar, es algo extremadamente sencillo.

Para el despliegue de aplicaciones, sobretodo se pueden lanzarse varias instancias de la misma, le veo una gran ventaja ya que sabes que todos los elementos que se están ejecutando son exactamente iguales.

En organizaciones grandes, donde el desarrollo se lleva en paralelo a la gestión de los sistemas, también es interesante, sobretodo con un registro propio, donde los desarrolladores crean imágenes que después el personal de sistemas se encargará de ejecutar en los servidores.

Por todo ello, considero que Docker es un gran sistema para estandarizar (y yo mismo me he hecho mis imágenes personalizadas), pero para el uso que yo le voy a dar, no las puedo aprovechar, y en cambio si que se tendría que lidiar con las desventajas

Solución a implementar

Básicamente, algo que sea flexible, “fácil” de administrar y que me permita jugar. Viendo que es lo que había por ahí, creo que me he decidido por Porxmox (o como mínimo lo voy a probar).

Esta solución, es algo que realmente no sabia que necesitaba hasta que un amigo de la universidad (gracias Martí) me enseñó que lo tenia instalado y mi curiosidad me llevo a buscar más información.

Que es lo que me ha gustado

Proxmox es un sistema de gestión de máquinas virtuales y contenedores LXC via web y donde veo que está todo bastante bien integrado. A parte, veo que es una herramienta muy interesante de conocer (incluso para mi vida profesional).

Al final, uno de los problemas que le veo a Docker, es que estas casado con lo que haya pensado el que cree la imagen, y muchas veces, no veo claro que sea una imagen “oficial” (se acaban haciendo muchas imágenes personalizadas). Con esto, no quiero decir que sea un mal sistema, al contrario, me parece que estamos pervirtiendo la idea original para hacer las cosas más fáciles y al estilo receta.

También soluciona el tema de la red, y lo eleva a la enésima potencia, vlan, vxlan, Q-in-Q, etc… Cosa que me gusta, ya que vuelvo a tener el control de los cortafuegos con una reglas sencillas aplicadas desde la propia web de administración o en el contenedor o máquina virtual.

Para las copias de seguridad, actualmente tenia un sistema con scripts y borg backup que, personalmente, no dejaba de ser un invento mio, y que seguramente me volvería loco a la hora de restaurar algo. Aquí lo veo todo mucho más integrador, e incluso se tiene su propio sistema de copias de seguridad con servidor propio (muy interesante y pendiente de explorar).

Si no se pasan elementos hardware, la migración a un nodo que se haya añadido de un contenedor se hace en un click (aunque este se pare y se mueva), y en el caso de las maquinas virtuales, ni hace falta pararla. Pensando en migraciones, pues …… no hay color.

Básicamente, veo que es un herramienta potente y tengo ganas de “jugar” con ella, y seguro que en algún momento, descubriré sus defectos, pero por ahora, con lo que me he informado, parece que sea una excelente opción.

Próximos pasos

Ahora me faltará encontrar tiempo para hacer la migración y la idea es formatear el servidor completamente para hacer una instalación limpia. Todo lo que necesite irá en maquinas virtuales o contenedores. En el host principal solo se instalará Proxmox y los paquetes que necesite.

Proceso de migración

  • Primero, me tengo que pensar como organizo los 3 discos duros que tengo en el servidor
  • Modificar mi red para reservar IPs para las máquinas que habrá en Proxmox
  • Hacer una copia de seguridad de todo, tanto en uno de los discos duros como en un disco externo
  • Instalar Proxmox
  • Crear una maquina virtual con la IP actual del servidor, y levantar todos los servicios que tengo en Docker

Con esto, tendría exactamente lo mismo que ahora a nivel lógico y todo continuaría funcionando, pero con la abstracción de estar en Proxmox.

Posteriormente, servicio a servicio los iría migrando a donde me interesara, para dejarlo todo a mi gusto.