Zoek op trefwoord, naam of systeem:

Blog

  • 28
    maart
    2017
    Technology Professional, Technology Professional

    Scripten met VMware API’s

    Het wordt steeds gebruikelijker om beheertaken binnen de IT infrastructuur te automatiseren. De wens voor selfservice en snel herhaalbare taken te kunnen uitvoeren, vereist een vorm van automation. Meestal wordt een kant-en-klaar product gebruikt dat ons ondersteunt bij het automatiseren en orkestreren van herhaalbare taken. In een dergelijke oplossing kunnen we code opnemen of deze is al aanwezig en dus te gebruiken uit een bibliotheek. Soms kunnen we ook zonder dergelijke tooling prima uit de voeten met een zelfgemaakt script.

    De meeste nieuwe producten hebben bijna allemaal wel een vorm van een API beschikbaar. In nieuwe selectieprocedures van software pakketten wordt dit bijna altijd als een vereiste gezien. Het is daarom ook niet vreemd dat bij het maken van scripts hier veelvuldig gebruik van wordt gemaakt.

    Ook VMware producten bieden veelal een API en daar maak ik als specialist veelvuldig gebruik van. Tijdens het scripten hoeft u niet zelf het wiel uit te vinden. Er zijn binnen de communities diverse modules beschikbaar om u te helpen bij het scripten. In dit artikel beschrijf ik een aantal van deze modules kort.

    PowerCLI

    PowerCLI is voor de meeste beheerders van VMware geen onbekende. Al jaren maken we gebruik van de PowerCLI module als uitbreiding op standaard PowerShell. Het maakt het voor de beheerder mogelijk bijna elke functionaliteit binnen vSphere en/of vCenter te benutten. Een voorbeeld hiervan zou kunnen zijn het aanmaken van een nieuwe virtuele machine:

    New-VM -Name ‘VMname’ -ResourcePool ‘ResourcePool’ -NumCpu 4 -MemoryMB 2048 -DiskMB 40960 -NetworkName ‘production network’

    Sinds Microsoft “.Net core” en PowerShell opensource heeft gemaakt, is het nu ook mogelijk om PowerShell te gebruiken op Linux en Mac. Voor PowerCLI is er een Multi-Platform versie ontwikkeld welke gebruikt kan worden voor deze OS-en.

    VMware PowerCLI

    PowerNSX

    Zoals de naam al doet vermoeden is PowerNSX ook een module voor PowerShell, welke zich richt op VMware NSX. Binnen de module zijn er functies aanwezig welke gebruik maken van de NSX API. Het benaderen van de NSX API kan ook zonder PowerNSX. Echter biedt PowerNSX standaard al een reeks mooie functies, welke weer tijd besparen tijdens de script werkzaamheden.

    Om bijvoorbeeld alle security groups binnen NSX op te vragen, welke beginnen met “WEB”, kan gebruik gemaakt worden van het commando:

    Get-NsxSecurityGroup | Where-Object { $_.Name -like “WEB*”} 

    VMware PowerNSX

    PowervRA

    Net als de voorgaande modules is ook PowervRA bedoeld als uitbreiding op PowerShell. Net als PowerShell NSX wordt er gebruik gemaakt van een API. In dit geval de API van vRealize Automation. Nu heeft vRealize Automation als doel om taken te automatiseren, dus dit lijkt misschien wat tegenstrijdig. Maar stel dat u als beheerder op reguliere basis moet onderzoeken welke aanvragen er zijn gemaakt door een specieke gebruiker, dan is deze technologie zeer welkom. Met Get-vRARequest is het mogelijk dit snel op te vragen.

    Get-vRARequest -RequestedFor user@vsphere.local

    PowervRA

    Pyvmomi

    Deze module biedt dezelfde functionaliteiten als PowerCLI. Het verschil zit hem erin dat Pyvmomi wordt gebruikt binnen de Python programmeertaal. Python wint steeds meer in populariteit vanwege zijn kleine en heldere syntax. Python is tevens erg makkelijk in te zetten met ondersteuning voor Linux, Windows en Mac.

    Resumerend:

    Met de flexibiliteit van API’s en de beschikbare modules voor de diverse scripting talen, is het des te eenvoudiger om zelf functionaliteiten te bedenken en implementeren. Hierbij is hetgeen u zelf kunt bedenken vaak de beperkende factor. Of zoals het Engelse gezegde zegt: Your imagination is the limit.

    Mocht u deze modules zelf nog niet eerder geprobeerd hebben, dan zou ik zeker aanraden om dit te gaan doen. Voor vragen en/of ondersteuning in automation projecten kunt u zich natuurlijk altijd tot ConoScenza richten.

Trefwoorden: VMware

Email Technology Professional

Lees alle blogberichten van Technology Professional

Deel dit bericht

Geen reacties

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *