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í.
- použít OVF tool, který je ale celkem náročný na přesný zápis – nikoli nemožné
- 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.