Continuamos con esta serie de artículos con la finalidad de crear un entorno dockerizado completo. Vamos a ir creando la infraestructura necesaria para alojar nuestro cluster de docker swarm. Esto implica crear una red privada, un gateway para esconderla, y finalmente ataremos el cluster de docker swarm.
Hace tiempo trabajé en una compañía que tenía un entorno productivo basado en docker. Fueron de los primeros en adoptar docker y no utilizaban ninguna tecnología de clusterización. Los contenedores se ponían en alguna máquina con capacidad adecuada; los balanceadores y las bases de datos tenían máquinas dedicadas.
Cuando MongoDB decidió cambiar la licencia por una que no cumple los criterios básicos de software libre, muchos decidieron abandonar el barco, siendo las principales distribuciones de linux las primeras en hacerlo. No faltaron voces que cantaran las maravillas de PostgreSQL, y como soy curioso, le he dado un intento.
Hace ya algún tiempo escribí un artículo sobre como montar un gateway utilizando Debian, iptables y dnsmasq. Siguiendo mi política de ir actualizando los artículos más útiles, y visto la aparición en mi toolbox de una nueva herramienta para simplificar iptables, le ha tocado una reescritura al artículo mencionado anteriormente.
Hace unos meses recibí una petición interesante; unos conocidos querían exponer un sitio web estático, pero lo querían replicado en muchos sitios porque era posible que les fueran cerrando sitios por su dudosa legalidad. Por supuesto me negué, pero el desafío era muy estimulante, así que intenté diseñarlo a posteriori.
Trabajando con Docker Swarm me doy cuenta de que hay muchos servicios tipo “ventanilla única” que suelo poner en los mismos managers. El asunto es que un despliegue con Docker Swarm funciona mejor con un número impar de managers, siendo 3 o 5 lo recomendable para un entorno de producción.
Tras probar algunos servicios pensados para la nube o para contenedores, veo que algunos de ellos dependen de una pieza central llamada zookeeper. Como soy una persona curiosa, he decidido dedicar un artículo a entender como funciona este servicio, que se limita a guardar cosas de forma distribuida y redundante.
Tras ver la facilidad con la que monté un firewall para un servidor solitario usando shorewall, he estado investigando sobre como hacer firewalls dedicados que enruten el tráfico en mis redes. En este artículo expongo lo que llegué a conseguir, esperando que le sirva a alguien en un futuro cercano.
Cada vez que me toca proteger un servidor con iptables me desanimo solo de pensarlo. No es que la herramienta sea mala (que me encanta), sino porque no es intuitiva y hay que tener en cuenta muchos casos raros. Por suerte hay utilidades que construyen el conjunto de reglas fácilmente.
Cada vez que intento crear claves GPG me doy por vencido y paso de hacerlo. El motivo es que es un proceso que tarda una barbaridad, especialmente en los entornos virtuales por los que me suelo mover. Eso es porque el dispositivo /dev/random no recibe suficiente aleatoriedad sin ayuda.