Entradas

Demo simple de GSLB con AVI

Imagen
Una gran característica de AVI (NSX Advanced Load Balancer) es su servicio de Global Service Load Balancer (GSLB). Desarrollado principalmente para aplicar geo-localización a nuestros sitios distribuidos en diferentes regiones o paises. Sin embargo, también lo podemos usar para migrar una aplicación a una nueva plataforma. Por ejemplo, desde servidores virtuales a Kubernetes en vSphere with Tanzu. Escenario Nuestra aplicación "App1" está alojada en máquinas virtuales. La nueva versión de la aplicación está alojada en un cluster de Kubernetes en nuestra plataforma de vSphere with Tanzu que utiliza AVI como motor de balanceo. Qué hace GSLB En forma muy simplificada, GSLB permite definir una aplicación, detrás de un FQDN gestionado por el servicio de DNS de AVI, que tiene varios destinos posibles. Cuando en nuestro navegador ingresamos la URL de la aplicación, GSLB "decide" (por geo-localización o prioridad) a cual destino enviarnos. Es, en esencia, un DNS dinámico. Pa

Escanear segmento de red para encontrar IPs usadas

Imagen
Más de una vez me sucedió que, al pedir un segmento de red nuevo para crear un ambiente, resultó que algunas de las IPs ya estaban siendo usadas. Desde entonces tengo por costumbre escanear el segmento antes de usarlo. Comando nmap Para realizar la tarea utilizo el comando "nmap" que no viene pre-instalado en Ubuntu por lo que debemos instalarlo con: sudo apt install nmap Cómo usar nmap Primero realizo un escaneo utilizando "ping" ejecutando: nmap -sn 192.168.1.0/24 El resultado sería algo así: Luego puedo hacer un escaneo de puertos con el siguiente comando: nmap -Pn -p22,80 192.168.1.0/24 --open El resultado luce así: Conclusión Mejor prevenir que curar. No cuesta nada asegurarse.

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.