Creando un cluster de Kubernetes con Virtualbox + Vagrant + Ansible
Éste es el primer articulo de una serie que he querido hacer desde hace un buen tiempo, ya que al igual que muchos siempre estuve buscando una forma de tener un ambiente de Kubernetes más cercano a la realidad (sin despreciar soluciones como mikube o kind) también se que existen unas soluciones más avanzadas como kubespray sin embargo lo sentía ya en el otro extremo demasiado complejo de entender y no me permitía aprender el proceso de instalar un clúster de Kubernetes. Así que mientras me preparaba para presentar el examen de CKA y a la par que usaba GKE decidí montar un repositorio para crear un ambiente local usando tecnologías que son bastante conocidas como: Virtualbox, Vagrant, Ansible, Make y Bash.
Lo primero fue la base a elegir, y mientras leía la documentación me encontré con ésta guía de cómo crear un clúster de Kubernetes usando kubeadm y decidí usarla como referencia para construir un clúster que se pudiera desplegar de forma automatizada. Y sí digo de forma automatizada, porque precisamente eso era lo que yo quería ejecutar un comando y que automáticamente se crearan las máquinas, se desplegara el clúster, algunas herramientas adicionales y tuviera un ambiente listo para usar, que fuera fácil de destruir en caso de que metiera la pata o dañara algo y lo pudiera desplegar nuevamente en cuestión de minutos. Pero lo más importante de todo este proyecto es que yo entendiera cada uno de los pasos que se llevaron acabo para hacer posible todo eso que yo quería lograr.
Y así llegamos hasta el día de hoy, dónde gracias a este proyecto pude prepararme para el examen de CKA, aprobarlo y ahora quiero compartirles mi experiencia y este recurso que quizá pueda ser de ayuda para alguien que haya llegado aquí buscando aprender sobre Kubernetes y porque no en un futuro también presentar su examen de certificación.
Aquí vas a encontrar el repositorio que está publicado en Github como kubeadm-cluster.
Acá te dejo un video siguiendo cada uno de los pasos del README.md
Ahora solo queda que me cuentes en los comentarios si lograste replicar los pasos, si tuviste algún problema en la ejecución o si tienes dudas.
Como comenté al inicio mi plan es hacer una serie, así que también estaré atento a las recomendaciones si están dentro de mi alcance, nos vemos el próximo post.