Kemp LoadMaster desde PowerShell
Actualmente existen una gran oferta en el mundo de networking y seguridad sobre balanceadores de carga, o si queremos ir un poco más allá: Application Delivery Controller. ¿Cuál es la diferencia? Un controlador de entrega de aplicaciones (ADC) es un dispositivo de red específico para tal fin. Su rol es mejorar el rendimiento, la seguridad y capacidad de recuperación de las aplicaciones en la red. Un dispositivo ADC es un balanceador y mucho más.
Por más información les comparto la web: https://kemptechnologies.com/.
Ahora bien, vamos a lo que nos interesa. La gente de KEMP puso a disposición un módulo para poder administrar Kemp desde PowerShell así que, como se habrán imaginado, el objetivo del post es introducirnos un poco en este módulo.
Requisitos
Lo primero que debemos obtener es el módulo para importar en PowerShell. La descarga la realizamos de la siguiente URL:
LoadMaster Powershell API Wrapper
Descomprimir el archivo descargado es lo siguiente que debemos hacer. Luego de ello, vamos a guardar los 4 archivos dentro de una carpeta llamada:
Kemp.LoadBalancer.PowerShell
A continuación veamos que debemos ejecutar para instalar el módulo con el siguiente bloque de código:
#Copiamos la carpeta para que todos los usuarios accedan al módulo
cp .\Kemp.LoadBalancer.PowerShell $Env:ProgramFiles\WindowsPowerShell\Modules\ -Recurse
# Save the current value of PSModulePath
$mpath = [Environment]::GetEnvironmentVariable("PSModulePath")
# Add the new path to the $mpath variable
$mpath += ";$Env:ProgramFiles\WindowsPowerShell\Modules\Kemp.LoadBalancer.Powershell"
# Add the paths in $currValue to the PSModulePath value.
[Environment]::SetEnvironmentVariable("PSModulePath", $currValue)
Manos a la obra
Ya con todo nuestro escenario listo, vamos a comenzar importando el módulo instalado:
Import-Module Kemp.LoadMaster.PowerShell
Nos va a indicar si confiamos en el publisher y listo!
Como se ve en la imagen, al finalizar lo expuesto anteriormente, utilicé el comando Get-Module a modo de comprobar la correcta importación del módulo.
¿Y qué comandos trae el módulo? Para responder la pregunta anterior vamos a ejecutar:
Get-command -Module Kemp.LoadMaster.PowerShell
Para comprobar la conectividad con nuestro balanceador existe un cmdlet llamado Test-LmServerConnection:
Test-LmServerConnection -ComputerName 10.100.10.50 -Port 443 -Verbose
Crear un Virtual Service
El comando para crear un Virtual Service es New-AdcVirtualService y vamos a agregarlo usando los siguientes valores:
- Puerto: 443
- IP del Virtual Service: 10.100.10.80
Para ello ejecutaremos:
New-AdcVirtualService -Port 443 -Protocol tcp -VirtualService 10.100.10.80
Agregar un Real Server
Ya con nuestro Virtual Service creado, el siguiente paso es agregar nuestros servidores que brindan la aplicación que queremos balancear. Estos servidores son llamados Real Servers y para agregarlos al Virtual Service es necesario ejecutar el comando
En nuestro ejemplo, vamos a suponer que tenemos los servidores 10.100.10.15 y 10.100.10.16 para agregar:
New-AdcRealServer -Port 443 -Protocol tcp -RealServer 10.100.10.15 -RealServerPort 443 -VirtualService 10.100.10.80
New-AdcRealServer -Port 443 -Protocol tcp -RealServer 10.100.10.16 -RealServerPort 443 -VirtualService 10.100.10.80
Happy scripting!
Comments