PowerCLI

      No Comments on PowerCLI

En esta oportunidad vamos a hablar sobre PowerCli, el conjunto de módulos diseñado por VMWare, que utilizamos para administrar un entorno de virtualización de sus productos (no solamente VSphere) desde la consola de Powershell o mediante el desarrollo de scripts.
Varias de las tareas que podamos realizar dede el conocido VSphere Client o VSphere Web Client, e incluso tambien desde Esxcli, la vamos a poder replicar desde la consola de Powershell utilizando los varios CMDLETs que tenemos disponibles

La última versión de PowerCli es 6.5.1 y entre las mejoras nos encontramos con un nuevo tipo de instalación sin necesiadad de bajar el paquete de la página de VMWare. Solamente vamos a necesitar abrir una sesión de Powershell y correr:

$PSVersionTable.PSVersion
Aunque no es necesario tener Powershell actualizado a la ultima versión, siempre es una buena práctica

Install-Module VMware.PowerCLI -Scope AllUsers
Como vemos, la instalación del módulo de PowerCLI se lleva a cabo a traves de PowerShellGet que se encargará de instalar y actualizar todos los pre-requisitos como el provedor NuGet. Confirmamos la instalación de NuGet y los modulos y la instalación estará lista para todos los usuarios en unos minutos.

Import-Module VMware.PowerCLI
Importamos el módulo a nuestra sesión actual de Powershell y ya tenemos todo listo para usar!

Veamos cuantos CMDLETs y funciones se han agregado al cargar los módulos de VMWare

Impresionante, no? Practicamente podremos administrar nuestra nube privada desde la consola de Powershell

Primero conectemonos a nuestro VCenter y hagamos algunas pruebas sencillas

Como ven, guardamos nuestras credenciales en la variable $mauro. El usuario que vamos a usar para conectar al VCenter es el mismo que definimos al momento de la instalación de VCenter.

Connect-VIServer -Server 192.168.1.51 -Protocol https -Credential $mauro
Conectamos a nuestro VCenter usando https y las credenciales que guardamos en el paso anterior

Veamos nuestra infraestructura

Get-Datacenter
Solo mostramos nuestro Datacenter. Recuerden que para ver todas las propiedades y métodos, podemos pasar el resultado del CMDLET por Pipeline hacia Get-Member

Get-Cluster
En este caso, Get-Cluster nos informa que es un Cluster de High Avalilability y que ademas tenemos DRS configurado.

Get-VMHost
Aqui vemos información básica de los Hosts que tengo en mi LAB. Como ven, es un Lab pequeño, pero que tiene todo lo necesario para ir probando muchas tecnologías en nuestra humilde nube privada.

Encendamos una VM para trabajar un poco:

Get-VM -Name Solaris11.3 | Start-VM

Elegimos la VM y la pasamos por el pipeline para iniciarla con Start-VM

Una vez que tenemos nuestra VM encendida, quizas podamos hacer algo sencillo como un VMotion:

get-VM | select Name, PowerState, NumCPU, MemoryGB, VMHost | Format-Table
Pedimos una lista de Maquinas Virtuales (en este humilde Lab por ahora tengo una sola). Seleccionamos las propiedades que nos interesan. En este caso, necesito saber en que Host esta corriendo mi VM.

Move-VM -VM Solaris11.3 -Destination host2.mauro.com
Muy sencillo, no? Con apenas indicar el Host de destino, realizamos un VMotion de nuestra VM

get-vm | select Name, PowerState, NumCPU, MemoryGB, VMHost | Format-Table
Nuevamente pedimos la lista de VM’s solo para corroborar que se movió efectivamente al segundo host.

Hoy dimos solamente una pequeña introduccion a PowerCLI y, como pudimos ver, es un mundo aparte. Lo bueno, es que mas adelante vamos a utilizarlo para administrar nuestro entorno virtual. Quizas incluso, en Winteltips.com, contemos con la ayuda de un experto en la materia!

Información útil:

PowerCLI
https://www.vmware.com/support/developer/PowerCLI/
http://pubs.vmware.com/vsphere-65/topic/com.vmware.ICbase/PDF/vmware-powercli-65r1-user-guide.pdf

Powershell 5.1
https://msdn.microsoft.com/en-us/powershell/wmf/5.1/install-configure

Espero que lo hayan encontrado interesante y lo comiencen a utilizar!

Saludos, Mauro.

Leave a Reply

Be the First to Comment!

Notify of
avatar
wpDiscuz