Stisknutím tlačítka "Enter" přeskočíte na obsah

OVF deployment pomocí PowerCLI

Už jste někdy potřebovali udělat deployment několikrát toho stejného OVF, jen s trochu pozměněnými parametry?

Vypisovat to znovu a znovu do průvodce je celkem časově náročné a hodně často je tam vyšší pravděpodobnost chyby. A když se spletete, tak to musíte naklikat znovu.

Což tak to trochu zautomatizovat?

Máte několik možností.

  1. použít OVF tool, který je ale celkem náročný na přesný zápis  – nikoli nemožné
  2. Použít PowerCLI, pokud tedy máte odkud jej spustit (omlouvám se Linuxářům)

EDIT: od verze PowerCLI 10 je možno PowerCLI instalovat i na Linux a MacOS

Já mám radši PowerCLI i když s OVF toolem jsem si taky už něco zažil, ale PowerCLI je takové … elegantnější.

Zrovna nedávno jsem potřeboval udělat deployment a průvodce a oprava překlepů v něm je trochu delšína zpracování.

Když už máte OVF, který chcete nahrát na vSphere, tak potřebujete znát seznam parametrů, které byste jinak zadávali v průvodci.

Get-OvfConfiguration E:\vcsa\VMware-vCenter-Server-Appliance-6.5.0.12000-7119157_OVF10.ova

Výstupem bude seznam properties, které můžete použít.

===============================================================================
OvfConfiguration: VMware-vCenter-Server-Appliance-6.5.0.12000-7119157_OVF10.ova

Properties:
 -----------
 Common
 DeploymentOption
 IpAssignment
 NetworkMapping
 vami

Doporučuji výstup předchozího příkazu rovnou přesměrovat do nějaké proměnné, např:

$OVFConfig = Get-OvfConfiguration E:\vcsa\VMware-vCenter-Server-Appliance-6.5.0.12000-7119157_OVF10.ova

Pak už si můžete postupně procházet jednotlivé parametry objektu a naplňovat odpovídajícími hodnotami.

 X:\> $OVFConfig.Common

guestinfo                                                                                                                                                    
---------                                                                                                                                                    
System.Object                                                                                                                                                



 X:\> $OVFConfig.Common.guestinfo

cis                                                                                                                                                          
---                                                                                                                                                          
System.Object                                                                                                                                                



 X:\> $OVFConfig.Common.guestinfo.cis

appliance        vmdir                  ceip_enabled                                       
---------        -----                  ------------                                       
System.Object    System.Object                                                                                           



 X:\> $OVFConfig.Common.guestinfo.cis.appliance

net                   root                                                                          
---                   ----                                                                          
System.Object         System.Object                                                                 



 X:\> $OVFConfig.Common.guestinfo.cis.appliance.net


addr    : System.Object
mode    : 
addr_1  : 
prefix  : 
gateway : 
dns     : System.Object
pnid    : 




 X:\> $OVFConfig.Common.guestinfo.cis.appliance.root

passwd                                                                                                                                                       
------                                                                                                                                                       


 X:\> $OVFConfig.Common.guestinfo.cis.appliance.root.passwd


Key                : guestinfo.cis.appliance.root.passwd
Value              : 
DefaultValue       : 
OvfTypeDescription : password
Description        : Password to assign to root account.  If blank, password can be set on the console.
                

Když budete jednotlivé položky plnit hodnotami, tak je ale potřeba ty hodnoty zadávat následovně, včetně poslední části “Value”, jelikož se jedná o PowerShell Objekt:

X:\> $OVFConfig.Common.guestinfo.cis.appliance.root.passwd.Value = "VMware1!"

Zůstane to uloženo v proměnné $OVFConfig, kterou pak následně použijeme při importu OVF do prostředí.

Abychom mohli importovat OVF do vSphere prostředí, je nutné se nejprve připojit k vCenter serveru, nebo ESX hostu

Connect-VIserver vcenter_name

Pokud nezadáte i parametry -UserName a -Password, vyskočí vám okno pro zadání přihlašovacích údajů

Následně už můžete udělat import VApp, je ale nutno znát cesty, kam ji chcete importovat. Je možné to i zkombinovat přímo v Commandletu

X:\> Import-VApp -Source E:\vcsa\VMware-vCenter-Server-Appliance-6.5.0.12000-7119157_OVF10.ova -OvfConfiguration $OVFConfig -Name vCenter65 -Location (Get-ResourcePool "MGMT") -Datastore (Get-Datastore "MyDatastore") -DiskStorageFormat Thin -VMHost (Get-VMHost sa-esx-01.virtualguru.local)

Jakmile už mám proměnnou $OVFconfig jednou naplněnou, tak ji mohu použít znovu, jen změním potřebný jeden parametr.

Kdyby chtěl někdo rozvést některé další téma, tak se ozvěte a třeba to bude inspirace na další příspěvek.