Convertir CloudBuilder Excel file a JSON!

Convertir CloudBuilder Excel file a JSON!

A white rectangular frame with blue and white text

Description automatically generated

Creo que el primer paso para levantar un entorno de VMware SDDC (VCF) es completar el documento de Excel (Deployment Parameter Workbook), este documento lo podemos ver como la receta con la cual se construira nuestro entorno SDDC.

Hace unos meses me encontré con la necesidad de automatizar la creación de un SDDC y tenia a mano el Paramenter Workbook, sin embargo, utilizar este documento de Excel en Ansible creo que no sería una tarea fácil y tampoco tengo el tiempo o conocimientos para lidear con eso.

CloudBuilder, es la VM que necesitamos desplegar inicialmente para proceder con la parametrización de nuestro entorno SDDC. CB nos permite hacer llamadas API (https://developer.vmware.com/apis/vcf/latest/), pero primero debemos convertir ese documento en Excel a JSON.

Dentro de CB contamos con una herramienta la cual nos permite hacer exactamento eso!

He visto muchos blog-post que ya nos presentan el archivo en JSON, pero creo que, si necesitamos hacer cambios, la manera más rápida y cómoda es editar el Paramenter Workbook.

Supportability and Serviceability (SoS) Utility

https://docs.vmware.com/en/VMware-Cloud-Foundation/5.1/vcf-admin/GUID-8B3E36D5-E98B-47CF-852A-8C96F406D6E1.html

SoS además de permitirnos convertir excel a json, es una herramienta CLI que se puede usar para revisar la salud y colectar logs de un ambiente VCF.

sudo /opt/vmware/sddc-support/sos --help

sudo /opt/vmware/sddc-support/sos -h

En nuestro caso, primero debemos colocar nuestro documento excel en el home-directory del usuario admin, esto lo podemos hacer con WinSCP o scp (si estas en macOS o Linux), ya con el documento en el home-directory, procedemos a convertirlo a json usando el siguiente comando.

/opt/vmware/sddc-support/sos --jsongenerator --jsongenerator-input /home/admin/CB-Workbook.xlsx --jsongenerator-design vcf-ems

Ahora se preguntarán, que hago con este archive en JSON?

Automatizar ¡!

En mi caso particular, la forma más rápida de crear un entorno de pruebas es automatizando el proceso, el cual está basado en Ansible usando AWX como UI.

En este caso particular usaremos el mismo host de CloudBuilder para lanzar la creación del SDDC, para esto usaremos cURL.

curl 'https://localhost/v1/sddcs/validations' -i -u 'admin:VMware1!' -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '@vcf-ems.json'

Se iniciará un proceso de validación el cual se puede monitorear usando el ID que nos devuelve el POST anterior.

curl 'https://localhost/v1/sddcs/validations/<ID>/report' -i -u 'admin:VMware1!' -X GET \
-H 'Content-Type: application/json’

En esta respuesta nos interesa:

executionStatus – este campo puede tener un valor entre IN_PROGRESS o COMPLETED.

resultStatus – este campo puede tener un valor entre SUCCEEDED o FAILED.

Podríamos continuar siempre que executionStatus sea igual a COMPLETED y resultStatus sea igual a SUCCEEDED.

curl 'https://localhost/v1/sddcs' -i -u 'admin:VMware1!' -X POST \
-H 'Content-Type: application/json' \
-H 'Accept: application/json' \
-d '@vcf-ems.json'

La diferencia ahora es que la llamada API se hace directo a /v1/sddcs y la anterior la hicimos a /v1/sddc/validations.

Ya todo depende de que tan rapido sea el ambiente en el cual se esta ejecutando la creacion del entorno SDDC, en mi caso, en un ambiente nested, esto tomaba alrededor de 2 horas y 30 minutos.

Si se preguntan, porque pasar por todo esto si podiamos usar el Web UI de CloudBuilder?

La respuesta es que de esta manera podemos tener un ambiente que puede ser solicitado en demanda por otros miembros de un equipo, en mi caso lo usamos para crear ambientes de prueba donde validamos ciertas configuraciones de VCF y necesitamos una forma rapida de crear SDDC sin intervencion humana!

 

Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant – Update.

Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant – Update.

Ya hace un tiempo, tal vez demasiado, había hablado de este cliente desktop para conectarnos a un cluster de k8s. En ese momento lo miré y no me sentí muy convencido de cuáles eran las bondades de usar algo así, y la principal razón era que estaba muy emocionado con Rancher UI.

Continuar leyendo «Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant – Update.»

vCenter data en Prometheus – visualizando con Grafana!

vCenter data en Prometheus – visualizando con Grafana!

En los últimos días tuve muchos problemas con mi instalación de LibreNMS, esto me llevo a re-evaluar mi solución de monitoreo, desde hace annos estaba usando LibreNMS y antes de este tenia Observium, la facilidad de agregar equipos para monitorear, simplemente es fácil y funcional.

Volviendo al tema, LibreNMS falló, dos veces en menos de un mes. Decidido, tenia que probar la plataforma de la que todos hablan, Prometheus.

Prometheus con AlertManager se ha vuelto la solución de monitoreo para muchos, por el hecho de usar Grafana como visualización nos da un gran abanico de posibilidades y a la vez nos enfrentamos a una curva brutal de aprendizaje. Para los que han usado Grafana, saben el tiempo que se tiene que invertir en tener los gráficos deseados pero una vez hecho es una hermosura. Sumado a esto tenemos AlertManager, actualmente no tengo tanta experiencia con este software pero lo estaré investigando mas a fondo.

Continuar leyendo «vCenter data en Prometheus – visualizando con Grafana!»

Kubernetes – Respaldando volúmenes y configuraciones de Kubernetes con Velero.

Kubernetes – Respaldando volúmenes y configuraciones de Kubernetes con Velero.

¿Otro post sobre respaldos?

Si, pero esta vez además de poder respaldar la data de un volumen, también podremos respaldar la información necesaria de un Deployment para ser recuperado o migrado mas adelante en caso de fallas o en una migración.

Velero

Anteriormente conocido como Heptio Ark, nos permite realizar respaldos tanto como de los volúmenes así también de los recursos en un cluster de Kubernetes. ¿Qué me permite hacer?

  • Respaldos de un cluster y restaurarlos en caso de perdidas.
  • Migración de un cluster a otro, sin importar que sea en premisa o en la nube.
  • Replicar un ambiente de producción a desarrollo o QA.

Continuar leyendo «Kubernetes – Respaldando volúmenes y configuraciones de Kubernetes con Velero.»

Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant.

Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant.

VMware se ha montado en el ecosistema de Kubernetes, luego de adquirir Heptio, VMware recibió varias plataformas opensource tales como Velero y Sonobuoy.

Sin embargo, no solo estan las que llegaron via Heptio, un ejemplo notable es Octant, hace unos meses me tope con esta aplicacion en la cuenta de Github de Vmware mientras buscaba informacion sobre Tanzu.

https://github.com/vmware-tanzu/octant

Octant es una aplicacion para que los desarrolladores (¡¡también los administradores!!) entiendan como las aplicaciones son ejecutadas en Kubernetes. Con la información presentada en Octant se muestra de una manera mas clara la relacion entre Ingress, Services, Pod y Deployments. Desde hace un tiempo estoy usando Rancher, no planeo reemplazarlo ya que Octant esta pensado para ser ejecutado desde el desktop usando el kubeconfig local, desde mi punto de vista es una aplicación de diagnóstico.

Continuar leyendo «Kubernetes – Explorando un Cluster de Kubernetes con VMware Octant.»