====== Disertación Kubernetes ====== Te cuento un poco mi situación y por qué me estoy planteando estas cosas. Básicamente son 3 historias distintas: 1. Desarrollo. Llevo algunos clientes que tienen stacks completamente diferentes (python, php, diferentes versiones, mysql, node, mariadb, pgsql…) y para hacer desarrollo en local, con brew, tengo que hacer mil pirulas para que todo funcione. He empezado a dockerizar los nuevos proyectos y estoy encantado, para desarrollo con docker-compose estoy más que cubierto. La idea es que para deployar esos proyectos muchas veces los servers también los llevo yo, con lo que tener un docker-compose.dev.yml y un docker-compose.prod.yml creo que sería suficiente, no se trata de grandes cosas que necesiten HA ni balanceo ni nada por el estilo, así que aprovecho más o menos toda la lógica de dockerizado de desarrollo para usar la misma herramienta en staging/prod. 2. Sistemas. Además de los clientes anteriores, llevo algunos servicios (lamp/lemp, mta…). Los más antiguos están instalados “old-school”, install&configure y ya. Los más recientes los he empezado a montar tirando de playbooks de ansible. Pero hay un par de casos concretos (mta mayormente) en los que sí me interesaría mucho el montar algo parecido a un clúster, porque son servicios bastante críticos por lo que, si una máquina física se cae, quedarse sin correo no es plato de buen gusto. Aquí es donde tengo el dilema, creo que un cluster kubernetes podría encajar muy bien, pero también es cierto que los clientes suelen ser PYMES a las que no les apetece demasiado hacer una gran inversión en infra (por eso estaba jugando con digitalocean, con el openstack que ofrece ovh…). Pensaba en Kubernetes porque parece el paso lógico (docker -> docker-compose -> kubernetes), pero quizás haya otras herramientas intermedias que puedan dar solución a este tipo de casos. 3. Aprendizaje. Creo que aquí fue donde empezó a fallar mi planteamiento. Una vez he visto y leído lo que se puede hacer con Kubernetes (al ver que es capaz de cubrir el punto 1 y el 2) he pensado que podía ser la herramienta perfecta para solucionar todos estos problemas. Desarrollo porque empasta muy bien con docker y Sistemas porque ofrece el clústering que necesito. Y creo que se me ha empezado a ir la pinza rollo “lo que necesito es Kubernetes para todo”. Luego he empezado a mirar Terraform también, por aquello del isp dependency y demás y me he empezado a hacer una bola que se me estaba haciendo difícil de tragar. Me apetece un montón aprender Kubernetes, Terraform y demás porque entiendo que el futuro podría ir por ahí, pero quizás para los problemas reales que tengo, son como un cañonazo para moscas. Por eso te preguntaba, porque sé que ahí tenéis mucha más experiencia en todo este tema. Lo que más me preocupa es llegar a una buena solución, sobre todo, en el punto 2, algo tolerante a fallos que pueda cubrir un servicio y que no se vaya mucho de precio. El resto creo que está siendo la típica ida de olla de fin de semana cuando empiezas a descubrir cosas nuevas. Rollo drogas en los 90 o algo así 😂