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!

Importar módulo de Kemp

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

Test-LmServerConnection

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