Pulumi

La administración de la infraestructura puede ser manejada a partir de generar código, es decir, Infraestructura como Código también conocida como IaC en ingles.

 

Puedes usar una gran variedad de software para llevarlo a cabo, lo que implica en algunos casos aprender un nuevo lenguaje, algo que Pulumi ha tomado en cuenta para su rápida adopción, por lo que si sabes Typescript, Go, Python, Javascript o .Net reducirás enormemente la curvatura de aprendizaje.

 

Había escuchado de Pulumi hace un año, hace unas semanas tome dos webinars  y las dudas que tenia sobre su uso, escenarios me animo a probarlo con una promo que obtuve en Digital Ocean por lo que inicie con la creación de un cluster Kuberntes usando Typescript. Pulumi te ofrece una version gratuita si únicamente tú usas el entorno.

 

La ventaja de esto que puedes ir haciéndolo poco a poco y esta es la lista ordenada de lo que fui administrando con mi código.

 

  1. Creación del Cluster Kubernetes.
  2. Creación de algunos namespaces, ex: staging, website
  3. Creación de un primer Deployment con nginx en el namespace de staging.
  4. Creación de un ClusterIP Service para el Deployment creado en el punto 3.
  5. Una gran pausa para instalar Istio (muy complicado y tomaría mas horas) o nginx como Ingress
  6. Después de decidirme en el punto 5 por nginx, procedí a crear el código para instalarlo como Ingress, con su namespace usando el Helm v3 Chart; esto me genero un LoadBalancer en Digital Ocean a su vez asignándome la IP Publica.
  7. Creación de un Service Ingress para dirigir el tráfico del ingress-nginx creado en el punto 6 hacia el ClusterIP creado en el punto 4, puedes verlo en do.webmago.dev (puede no estar disponible en el futuro).
Ejecucion Paso 1 Pulumi

Ejecucion Paso 1 Pulumi

 

Revision Dashboard Digital Ocean

Revision Dashboard Digital Ocean

 

Dashboard Pulumi paso 1

Dashboard Pulumi paso 1

 

Cabe señalar que para mantener mi entorno aislado y no interferir con mis configuraciones de mi equipo trabaje desde un contenedor de docker.

 

Tengo que aclarar que tuve algunos glitches con Pulumi al aplicar/actualizar cambios y al parecer es un comportamiento algo raro que tiene Digital Ocean, por lo que recibía errores y tenia que volver a ejecutar la actualización de cambios.

 

En mi experiencia, puedo decir que Pulumi reduce considerablemente su curvatura de aprendizaje y adopción permitiéndote administrar tu Infraestructura como Código con los lenguajes antes mencionados.

 

Si requieres de mi ayuda para administrar tu infraestructura contáctame.

Tags

Comments are closed

Optimized with PageSpeed Ninja