Saltar al contenido principal

K8s + GlusterFS (CentOS)

· 17 min de lectura
Rei Izumi
Moon.cat owner

Kubernetes tiene varias opciones para crear volúmenes, en otro artículo ya expliqué cómo utilizar NFS, ahora le toca a algo más profesional: GlusterFS.

GlusterFS es un sistema de réplica de datos, similar a crear una RAID a nivel de software, aunque tiene algunos extras, como la capacidad de hacer snapshots o la georeplicación. En caso de Kubernetes, únicamente nos interesa su capacidad para crear réplicas de los datos y compartirlas, similar a una carpeta compartida.

Debo avisar que GlusterFS es realmente grande y Kubernetes no está configurado "por defecto" para utilizarlo (requiere un intermediario: Heketi), así que su configuración es bastante compleja, y además hará falta obtener conocimientos de GlusterFS para gestionarlo manualmente si fuera necesario.

K8s + NFS (CentOS)

· 5 min de lectura
Rei Izumi
Moon.cat owner

La mentalidad de los contenedores es que sus datos se pierden tras borrarse, así que los datos que necesitamos que no se pierdan, deberán ir en volumenes.

En caso de tener un Kubernetes desplegado en una Cloud, lo recomendable es utilizar el sistema de estos, pero si tenemos nuestro propio sistema, nos tendremos que apañar con lo que podamos.

El más sencillo de todos es asociar el volumen a una carpeta compartida por NFS.

K8s en CentOS 8

· 8 min de lectura
Rei Izumi
Moon.cat owner

Con la aparición de la virtualización, el mundo cambió, ahora podías dividir tu mega-servidor en pequeños servidores y así utilizar todo su potencial, sin duda, fue una gran mejora y quienes se opusieron a ello, acabaron cambiando de mentalidad.

Después de esto, apareció la Cloud, un timo en toda regla, donde pagas una barbaridad por un servicio que podrías tener en tu servidor físico por un precio claramente inferior, algo inaudito fue ver cómo la gente se movió hacia la Cloud creyendo que todo sería más barato, no lo fue, pero aun así su avance no ha parado (ni su precio).

No suficiente con ello, otro gran cambio apareció con los contenedores, ya no requieres virtualizar, puedes dividir el potenciar de tu servidor distribuyendo contenedores con los servicios que necesitas, y, además, estos se pueden replicar "fácilmente" entre otros servidores, lo que te permite tener pequeños servidores junto a grandes servidores (sí, ya existen cajas donde poner varios Raspberrys para crear un cluster realmente eficiente, aunque ojo que su CPU es ARM y no todos los contenedores son compatibles).

Hacia la cabeza de estos sistemas está Docker como creador y gestor de contenedores, y Kubernetes como gestor de despliegues. Existen otras opciones a Kubernetes (como Docker Swarm, que funciona perfectamente y es mucho más sencillo), pero no hay nada más extendido y libre que este.

Instalación de CentOS 8

· 7 min de lectura
Rei Izumi
Moon.cat owner

Llevo tantos años siguiendo a SuSE, que ni siquiera me había planteado seriamente alguno de sus rivales, ni a nivel doméstico ni empresarial, SuSE tenía todo, una versión community y una de pago con soporte, seguía estando allá arriba junto a Red Hat.

Pero los tiempos cambian, unos se adaptan, y otros no.

En estos últimos años, he seguido utilizando OpenSuSE y viendo sus cambios de versión en solo 1 año vista, las actualizaciones que explotan destruyendo entornos de producción con pocos años, y teniendo que revisar todos los cambios de la siguiente versión antes de hacer el salto, debido a que podías llegar a perder un servidor sin darte cuenta por un motivo desconocido.

A todo esto, YaST cada vez era menos útil, debido a que los cambios tan rápidos hacían que YaST no llegara a actualizarse al mismo nivel.

Mientras, Red Hat junto a Fedora, y la versión CentOS de la comunidad han hecho unos grandes avances y cada vez han ido cogiendo más mercado, hasta el punto de luchar tu a tu contra Ubuntu en zonas domésticas, y quedarse el liderazgo en el ámbito empresarial.

Por todo esto, traigo una guía rápida para instalar CentOS.

DHCP en OpenSuSE Leap 15.1

· 5 min de lectura
Rei Izumi
Moon.cat owner

El servicio de DHCP quizás es uno de los más olvidados, en muy raro que no esté disponible, y al funcionar de forma transparente, nadie le hace caso, además, en un sistema doméstico o una PYME, normalmente es el router del proveedor de Internet quien se encarga de esto, así que está ahí, pero nadie le hace caso.

La realidad es que es uno de los servicios más importantes, y más ahora con tantos dispositivos conectados a la red y que no pueden ajustar una IP fija, sin DHCP, muchos dispositivos ni siquiera funcionarían.

Además de asignar una IP diferente a cada dispositivo, este se debe encargar de poder definir una IP fija a una Mac, de esta forma podremos asignar IPs que no cambiarán a esos dispositivos que no pueden contener estáticas o para evitarnos tener que poner fijas a dispositivos que se mueven fuera de la red, otra aún más importante es poder enviar las DNS que queremos utilizar, y este último es lo que provoca que valga la pena obviar el servicio original de un router y tener un servidor DHCP propio.

PostgreSQL en OpenSuSE Leap 15.1

· 6 min de lectura
Rei Izumi
Moon.cat owner

Últimamente PostgreSQL es la base de datos que más está siendo implementada, debido a su origen OpenSource y su potencial que le permite estar a la altura de las grandes bases de datos de pago.

También hay que sumar la cantidad de años que tiene, lo que la hace una base de datos sólida, y con más funcionalidad que MariaDB, si principal rival en el OpenSource.

Actualmente muchas aplicaciones aceptan (e incluso recomiendan) su uso, si a eso añadimos que también está ganando dentro del mundo cloud y contenedores, la convierte en una base de datos a tener en cuenta.

DB2 Express en OpenSuSE Leap 15.1

· 6 min de lectura
Rei Izumi
Moon.cat owner

Solo unas pocas bases de datos han conseguido sobrevivir a lo largo de los años, y aun menos son las que compiten por usarse en grandes aplicaciones. Entre estas grandes bases de datos, posiblemente DB2 de IBM sea la más olvidada, aunque cuando compites contra Oracle, es difícil ganar, y Microsoft SQL Server tampoco se ha quedado corta en el mercado.

Aun con todo, DB2 ha seguido evolucionando para no quedarse atrás, y aunque IBM ha tenido ideas realmente malas en su evolución (como reemplazar la consola administrativa, ligera y funcional, por un eclipse imposible de instalar en el propio servidor y apenas sin nada), a seguido luchando hasta los tiempos actuales.

Con los años, he aprendido que DB2 está a la altura de sus rivales, y el único motivo por el que nunca ha despegado, es el tema de licenciamiento, IBM ofusca todo esto a límites, realmente, es más complejo entender o conseguir la licencia que quieres, que no instalar y utilizar esta base de datos.

Actualmente disponemos de la versión de Community Edition, que será la que utilizaré en este caso.

MariaDB en OpenSuSE Leap 15.1

· 6 min de lectura
Rei Izumi
Moon.cat owner

Aunque la tecnología no ha parado de cambiar, MariaDB/MySQL sigue siendo una de las bases de datos más utilizadas para pequeños proyectos, además de seguir siendo OpenSource.

Su simplicidad y buen funcionamiento la hace muy práctica en muchos entornos y es raro no acabar teniendo al menos una de estas instaladas, por ejemplo, el proyecto Wordpress en el que se basa este blog, únicamente acepta esta base de datos.

Copias notificadas con Nagios

· 11 min de lectura
Rei Izumi
Moon.cat owner

Los días se vuelven más tranquilos cuando sabes que todos los sistemas están ejecutando las copias de seguridad automatizadas, y estos te avisan de que todo está funcionando correctamente.

A su vez, no hay nada como recibir decenas, o cientos de e-mails de cada servicio de copia de seguridad, avisando de que todo ha funcionado correctamente, o no. Esto provoca que, o no se lean los mensajes, o se activen reglas para desviarlos, pero en definitiva obtenemos lo mismo: nadie revisa los mensajes, así que no sabemos si realmente funciona o no.

La opción más clásica es únicamente notificar si ha fallado, pero esto también es un problema, ya que si un proceso falla al punto de no poder enviar mensajes (por ejemplo, si se queda sin espacio), no lo sabremos nunca, así que nos obliga a ir revisando el sistema manualmente.

Para solucionar esto, podemos redirigir las notificaciones hacia otro sistema que pueda revisar si ha funcionado o fallado y avisarnos únicamente si ha fallado o si no ve ningún mensaje cuando sí debería haberlo recibido, para ello disponemos de Nagios.

Sincronización horaria

· 4 min de lectura
Rei Izumi
Moon.cat owner

Anteriormente publiqué una entrada de cómo configurar un servidor de sincronización horaria utilizando NTP, debido a la importancia de que todos los servidores de una red tengan exactamente la misma hora para evitar problemas de sincronización.

Con el tiempo, ha surgido un nuevo proyecto Chrony, que se ha asentado como el nuevo estándar, por encima de NTP, debido a que varias ventajas.

A partir de OpenSuSE 15, NTP ha sido sustituido por Chrony, e incluso YaST ha sido modificado para incorporar a este, así que, aunque podemos seguir instalando el viejo NTP y borrar a Chrony, la mejor opción es dar el paso y cambiar hacia este.