ileezhun - Fotolia
Möglichkeiten der Automatisierung mit der neuen REST API in vSphere 6.5
Mit vSphere 6.5 wurde auch die vSphere REST API erweitert. Damit bieten sich für VMware-Admins neue Möglichkeiten der IT-Automatisierung.
vSphere 6.5 bietet eine neue REST-basierte Programmierschnittstelle (Application Programming Interface, API), die aufgrund ihrer einfachen, entwicklerfreundlichen Art schon viel Zuspruch erfahren hat. Aber wird sich die neue API tatsächlich auf den Arbeitsalltag des durchschnittlichen VMware-Admins auswirken?
VMware war eines der ersten Unternehmen abseits von Microsoft, das sich voll und ganz der Microsoft PowerShell (in Form der PowerCLI) verschrieben hatte, die beide so ihre Vor- und Nachteile haben. In einer Welt von Self-Service-Portalen und Webanwendungen gibt es einfach Grenzen dafür, was sich per Scripting erreichen lässt. Es ist schwieriger, Skripte für die Orchestrierung zu nutzen, da es komplizierter ist, dynamisch auf Auswahleinträge zu reagieren.
vRealize Automation beispielsweise nutzt für das Self-Service-Portal JavaScript, um mit Nutzereingaben zu interagieren und diese abhängig von vorher ausgewählten Optionen zu aktualisieren. Über die PowerShell wäre dies nur schwer möglich. Um es ganz direkt zu sagen ist die PowerShell nicht perfekt, und vor allem als Einsteiger ist das Arbeiten mit umfangreichen Listen der wichtigsten Befehle oft sehr mühsam und kompliziert. Über die PowerShell lassen sich aber auch REST APIs ansprechen, und zwar über einige eingebaute Befehle.
Die Implementierung nutzbarer REST APIs fügt den Automatisierungsmöglichkeiten neue Dimensionen hinzu. REST APIs entkoppeln Daten von der Programmiersprache, indem die sprachspezifischen Abhängigkeiten von Frameworks entkoppelt werden. Administratoren können JavaScript, Python, Perl, PowerShell, C/C++ oder selbst das Unix/Linux CLI Tool (über den curl-Befehl) verwenden, um Daten über die vSphere REST API aus einer VMware-Umgebung zu beziehen.
So funktioniert die neue REST API in vSphere 6.5
Die REST API vCenter Login-Seite zeigt unterschiedliche API-Aufrufe, die Administratoren zum Eingeben und Abrufen von Daten verwenden können. Wären diese Informationen für Anwender sichtbar, so könnten daraus ernsthafte Probleme entstehen. Die REST API bietet aber auch einen eingebauten Authentifizierungsmechanismus, um sichere Verbindungen aufzubauen und unautorisierten Anwendern den Zugriff zu verwehren.
Um einen Überblick über die Möglichkeiten der REST APIs zu erhalten, klickt man hier einfach auf Browse vSphere REST APIs. Diese Funktionen lassen sich auch programmatisch implementieren, als Beispiel kann aber auch der VMware API Webpage Explorer genutzt werden, um einige API Calls auszuprobieren. Bevor man hier weitermacht, empfiehlt sich ein Blick auf einige der wichtigsten HTTP-Aktionen, die das REST-Framework bietet.
Get API extrahiert Informationen aus virtuellen Maschinen, vCenter-Einträgen und sonstigen Systemen, die die API integrieren. Set Keyword sendet oder aktualisiert Informationen. So lässt sich Set zum Beispiel auch zum Erstellen einer virtuellen Maschine nutzen. Put dagegen aktualisiert eine ganze Gruppe an Objekten und überschreibt dabei alles, was vorher vorhanden war.
Post API unterscheidet sich leicht von Put, weil hierbei Objekte hinzugefügt werden. Tatsächlich kann man die Put-Methode zum Beispiel dazu verwenden, Objekte einzeln und separat aufzubauen. Wie der Name schon verrät, werden schließlich mit Delete Prozesse und Objekte gelöscht.
Auch wenn es etwas merkwürdig aussehen mag, die Pfade und Schlüsselwörter repräsentieren letztlich die Informationen, die Administratoren suchen. Abbildung 1 zeigt ein Beispiel dieser HTML-Methoden.
Um zu sehen, wie all das funktioniert, klickt man einfach in der ersten Zeile auf /vcenter/datacenter/, um sich verschiedene Objekte anzeigen zu lassen. Am unteren Ende der Seite findet man die Schaltfläche Try it out. Das Ergebnis sollte in etwa wie in Abbildung 2 aussehen.
Das Ergebnis mag auf den ersten Blick etwas merkwürdig aussehen, weil die Webseite ein Schlüssel-Wert-Paar ausgibt. Im Grunde handelt es sich hierbei also um eine Description ID und einen Wert. Der Name des vCenters in diesem Beispiel lautet LocalDC, das Data Center heißt datacenter-2.
Um die gleiche API-Anfrage mit Curl durchzuführen, kopiert man einfach den Curl-Befehl, um die gleichen Werte zu erhalten. Warnmeldungen über unsichere Zertifikate lassen sich über den Schalter –k unterbinden, der dem Befehl einfach angehängt wird.
Mit der Get-Methode kann man den Umgang mit der REST API in vSphere 6.5 relativ einfach und sicher ausprobieren, bei anderen Methoden sollte man allerdings mit höchster Vorsicht agieren. In diesem Fall ist das Risiko sehr hoch, versehentlich Schaden anzurichten.
Die Nutzung der neuen vSphere REST API kann sich als sehr hilfreich erweisen, vor allem wenn die Automatisierung im eigenen Rechenzentrum webbasiert erfolgt oder unterschiedliche Systeme involviert sind, etwa externe Load Balancer, die REST-Aufrufe unterstützen. Ein großer Vorteil der REST-Funktionen in vSphere 6.5 ist zum Beispiel auch, dass sie unabhängig von Betriebssystem oder Programmiersprache zur Verfügung stehen.
Folgen Sie SearchDataCenter.de auch auf Twitter, Google+, Xing und Facebook!