Entradas

Mostrando entradas de 2023

Microk8s mi primer prueba

Imagen
Microk8s tiene soporte empresarial de Canonical lo que lo convierte en una buena opción para producción. Estuve probando cómo funciona y quedé impresionado tanto por estabilidad como por sencillez. Instalación Primero desplegué un Ubuntu Cloud Image y la configuré con mi usuario y una IP fija tal como explico en mi articulo sobre cómo Instalar Ubuntu Cloud Image y configurar con mi usuario y password  y luego me conecté por SSH. Instalé Microk8s simplemente con el siguiente comando sudo snap install microk8s --classic En mi VM Ubuntu no habilité el Firewall, pero si lo hubiera hecho, habría tenido que ejecutar: sudo ufw allow in on cni0 sudo ufw allow out on cni0 sudo ufw default allow routed Luego algunas configuraciones extra para el usuario: sudo usermod -a -G microk8s $USER sudo mkdir ~/.kube && sudo chown -R $USER ~/.kube sudo newgrp microk8s Y verifiqué si está todo bien: microk8s status Habilitando add-ons Ahora pude habilitar dashboard y dns: microk8s en

Compartir archivos localmente con Python

Si usas Linux y querés una forma rápida de compartir archivos a otros usuarios en la red local sin tener que hacer configuraciones extrañas, puedes usar Python en forma muy sencilla. Paso 1 - poner los archivos en una carpeta Bueno, el título explica todo. Lo que vamos a hacer es compartir el contenido de una carpeta por lo que debemos asegurarnos que todo aquello que queremos compartir esté en la carpeta y lo que no, bueno, que no esté :) Paso 2 - usar el servidor web de Python Vamos al terminal y cambiamos al directorio que queremos compartir y luego simplemente ejecutamos:  sudo python3 -m http.server 8080 Podemos usar cualquier puerto que no esté en uso. Listo, ahora solo debemos ir a la computadora donde necesitamos los archivos y usar el navegador web y escribir la dirección:  http://ip_de_la_pc_que_comparte:8080 Fácil, ¿no?

Aria Automation - crear lista ordenada de key-value en custom forms con Orchestrator

Imagen
Es muy común necesitar crear una lista desplegable de opciones en un Custom Form de Aria Automation. Lista simple Imaginemos que queremos construir una lista desplegable para seleccionar una Máquina Virtual por su IP.  Esto es bastante sencillo ya que crearemos una acción de Orchestrator que devuelva un Array/String y simplemente podemos hacer lo siguiente: var result = [ "10.10.1.11" , "10.10.1.2" , "10.10.1.3" ]; return result; El resultado se vería así: Lista con etiqueta y valor Sin embargo, sería mucho mejor poder mostrar una lista con los nombres de las máquinas virtuales pero que el campo retenga la IP de dicha vm. En principo esto se puede resolver creando una Action en Orchestrator que devuelva un objeto del tipo Properties: var props = new Properties(); props.put( "10.10.1.1" , "Virtual Machine 1" ); props.put( "10.10.1.2" , "Virtual Machine 2" ); props.put( "10.10.1.3" , &

Forzar sincronización horaria contra NTP en Appliances de VMware

Trabajando con appliances de VMware, en especial de vRealize Automation, muchas veces tuve la necesidad sincronizar la hora de los servidores manualmente. Y cada vez tuve que googlear los comandos para hacerlo. Forzar sincronización horaria service ntp stop ntpdate -q server ntpdate -u server ntpdate -bv server service ntp start

VMware Aria vRA no redirecciona a la IP balanceada de vIDM

Imagen
Luego de instalar VMware Aria Automation en modo "cluster" noté que para ingresar credenciales, el sistema me redireccionaba al Appliance #1 de vIDM en lugar de a la URL del balanceador. Lamentablemente, Life Cycle Manager no configura todas las opciones necesarias en Identity Manager cuando lo desplegamos en modo "cluster". ¿Cómo terminar de configurar vIDM en modo cluster? Luego de configurar el Directorio de Active Directory en Life Cycle Manager debemos ingresar a la URL de Identity Manager. Ingresamos usando nuestro usuario "admin" del "System Domain". Hacemos clic en el usuario y seleccionamos "Administration Console" Navegamos "Identity & Access Management" y hacemos clic en el dominio de Active Directory que configuramos anteriormente. Navegamos "Identity Providers" y seleccionamos "WorkspaceIDP_x" En la sección "Conectors" veremos que solo aparece el primer Virtual Appliance de vIDM.

VMware Aria Automation API - Crear Proyecto

Imagen
En este articulo se describe cómo crear un proyecto, y configurar los datos básicos, en VMware Aria Automation 8.x usando la API. VMware Aria Automation utiliza sus propias APIs para funcionar. Esto es importante porque todo lo que podemos realizar usando la Interfaz de Usuario podremos hacerlo de forma automatizada utilizando las APIs. Por otra parte, las APIs están bien documentadas en la siguiente URL: https://<<vraHost>>/automation-ui/api-docs/ Algunas funcionalidades se encuentran en APIs que no están documentadas, esto hace que las tareas sean más difíciles. Entiendo que las APIs no documentadas tienen funcionalidades "peligrosas" con las que podríamos generar muchos problemas, pero también es cierto que necesitamos usarlas si queremos automatizar TODO. Requerimientos Si necesitamos un proyecto que permita a los miembros desplegar nuevos recursos, entonces necesitamos (como mínimo): Crear el proyecto Asignar una Cloud Zone con límite de recursos Asignar usua

VMware Aria Automation API - parte 1

Este es el primero de mis artículos sobre cómo utilizar la API de VMware Aria Automation (antes vRealize Automation) para realizar tareas en forma automatizada. Automation tiene muchas APIs para realizar todas las tareas requeridas. Sin embargo no siempre es sencillo entender cómo usarlas. Entonces, primero lo primero lo primero...  ¿Cómo me autentico? El proceso de consta de dos pasos. Se requieren dos llamadas porque la primera se dirige a un sistema externo, el Identity Manager, a través de la API de Gateway. La segunda llamada es a la API de IaaS de vRA. Primero debemos obtener el "Access Token" : URL https://{{vraHost}}/csp/gateway/am/api/login?access_token Method POST Accept application/json Content-Type application/json Body { "username":"{{username}}", "password":"{{password}}" } Response { "refresh_token": "

Tanzu Kubernetes Grid - Desplegar clusters que confíen en certificados autofirmados

Imagen
Cuando desplegamos clusters de Kubernetes con VMware TKG en nuestro datacenter, es probable que necesitemos que el cluster confíe en certificados autofirmados. Ya sea para poder utilizar una Registry privada o para algún otro servicio que necesitemos consumir desde el cluster. Para lograr esto vamos a hacer uso de YTT que es una de las Carvel Tools que debemos instalar como parte del "tanzu cli" . YTT es una herramienta que nos permite crear templates de archivos YAML y crear nuevos a partir de varios archivos más pequeños. En nuestro Linux con Tanzu CLI existe una carpeta en el siguiente path: ~/.config/tanzu/tkg/providers/infrastructure-vsphere/ytt/ En esta carpeta vamos a agregar un nuevo archivo de nombre " tkg-custom-ca.yaml " con el siguiente contenido: #@ load("@ytt:overlay", "overlay") #@ load("@ytt:data", "data") #! This ytt overlay adds additional custom CA certificates on TKG cluster nodes, so containerd and oth

Copiar imagenes Docker a una Registry local

Imagen
Frecuentemente necesito construir ambientes de laboratorio para hacer una "demo" de Tanzu, tanto vSphere with Tanzu como Tanzu Kubernetes Grid . Para que todo sea más fluido es bueno tener las imágenes de contendores en una Registry local.  Además de copiar las imágenes, también es necesario modificar todos los archivos YAML que voy a usar en la presentación. Para realizar todo esto, hice un pequeño script en bash. Pre requisito Primero debemos ejecutar "docker login <<localRegistry>>" para almacenar las credenciales en nuestra sesión. Script para copiar imagenes de docker en una Registry local El script comienza con la lista de imagenes que quiero copiar localmente y cómo debería ser "re-taggeada", por ejemplo: "nginx|harbor.lab.local/tanzu/nginx:latest" Al ejecutar el script, pregunta si queremos modificar los archivos YAML en la carpeta local. Si aceptamos, nuestros archivos YAML ya quedarán listos para ser usados en nuestro lab