Runecast-Akademie
11
:

Automatisierung, CLIs und Entwicklerschnittstellen

In diesem Kapitel werfen wir einen Blick auf Automatisierung, CLIs und Entwicklerschnittstellen.

Willkommen zurück bei der Runecast Academy. Wir hoffen, dass Ihnen die Serie bisher gefallen hat und Sie vielleicht etwas Neues gelernt haben. In diesem Kapitel werfen wir einen Blick auf Automatisierung, CLIs und Entwicklerschnittstellen.

Zu den hier behandelten Themen gehören unter anderem:

  • Wenn Sie Aktionen haben, die Sie mehrfach oder konsistent in verschiedenen Umgebungen durchführen müssen, wird Ihnen die Automatisierung das Leben sehr erleichtern.
  • Die Leistungsfähigkeit von Tools wie ESXCLI, PowerCLI und DCLI.
  • Einige der verfügbaren Tools und einige Möglichkeiten für den Einstieg.

Runecast Academy Serie 1 - Teil 11. Automatisierung, CLIs und Entwicklerschnittstellen

ESXCLI

Was also ist ESXCLI? Wie der Name schon vermuten lässt, handelt es sich um ein Befehlszeilenschnittstellen-Framework für vSphere, das eine modulare Architektur für verschiedene Komponenten bietet, die als Namespaces bezeichnet werden und im VMkernel laufen. ESXCLI wird in der Regel zur Ausführung von Befehlen auf der ESXi-Shell bei der Fehlerbehebung oder bei der Konfiguration von Dingen verwendet, die der vSphere-Client möglicherweise nicht offenlegt. Einige gängige Beispiele sind esxcli system version get oder esxcli network ip interface ipv4 get. Normalerweise wird esxcli über eine Remote-Terminal-Sitzung via ssh oder lokal an der Host-Konsole ausgeführt. Es ist auch möglich, ESXCLI-Befehle über PowerCLI auszuführen (mehr dazu in Kürze). Probieren Sie get-esxcli von PowerCLI aus, um loszulegen!

PowerCLI

PowerCLI ist ein leistungsfähiges und flexibles Befehlszeilentool, mit dem Sie viele Dinge im Rahmen der vSphere-Verwaltung automatisieren können. PowerCLI läuft unter Windows, macOS und Linux mit PowerShell (die beiden letzteren mit Powershell Core). Darüber hinaus können Sie mit mehreren Modulen Ihre Verwaltungsmöglichkeiten erweitern, z. B. für vSphere & VSAN, VMware Cloud Director, VMware Cloud on AWS, VMware Horizon und NSX-T.

Wenn Sie gleich loslegen und etwas Einfaches ausprobieren möchten, können Sie dies mit dem folgenden Beispiel von einer Powershell-Eingabeaufforderung aus tun.

Install-Module -Name VMware.PowerCLI

$Berechtigung = Get-Credential

$Benutzername = $credential.GetNetworkCredential().username

$Password = $credential.GetNetworkCredential().password

$vCenterServer = Read-Host -Prompt 'Geben Sie den FQDN des vCenter-Servers ein, mit dem Sie eine Verbindung herstellen möchten. (z.B. vcenter.domain.com)'

Connect-VIServer $vCenterServer -Benutzer $Benutzername -Passwort $Passwort

Get-VM

Disconnect-VIServer $vCenterServer -Confirm:$false

Sie sollten nun eine Liste aller VMs in Ihrer Umgebung sehen. Eines der unglaublichsten Dinge an Powershell (und damit auch an PowerCLI) ist die Möglichkeit, die Ausgabe eines Befehlssatzes in einen anderen zu übernehmen. Dies wird als "Piping" bezeichnet, weil Sie dafür das Pipe-Zeichen "|" verwenden. Versuchen Sie beispielsweise, eine Verbindung zu Ihrem vCenter Server herzustellen, und führen Sie Get-VMhost aus. Sie erhalten eine Tabelle mit einer Liste aller angeschlossenen Hosts und ein paar Informationen zu deren Status. Versuchen Sie nun Get-VMHost | format-list. Sie erhalten nun mehr Details über jeden Host in einem Listenformat. Sie können diese Informationen sogar an einen anderen Befehl weiterleiten, z. B. export-CSV. Die Möglichkeiten sind schier endlos! PowerCLI ist ein Tool, das jeder VMware-Administrator in seinem Arsenal haben sollte.

DCLI

DCLI (Datacenter CLI) ist eines der neueren Befehlszeilenangebote von VMware und arbeitet ausschließlich mit der vSphere Automation API (REST API für vSphere). Dies ermöglicht eine skriptfähige Methode zur Überwachung und Verwaltung all dessen, was Sie mit der REST-API tun können. DCLI kann lokal von einem vCenter Server (entweder VCSA oder Windows) oder remote von einem Rechner mit installiertem vSphere CLI-Paket ausgeführt werden. Beachten Sie jedoch, dass vSphere CLI ab vSphere 7 als nicht mehr verfügbar gilt.

Ein ausgezeichneter Einstieg ist dieser Leitfaden von Kyle Ruddy: https://blogs.vmware.com/code/2018/06/04/dcli-installation-walkthrough/

vRO

VMware vRealize® Orchestrator™ ist ein Workflow-Automatisierungstool, das die Automatisierung von Aufgaben für Systemadministratoren und technische Anwender vereinfacht. Das System ist einfach zu bedienen, mit Drag-and-Drop-Bausteinen, die es Ihnen ermöglichen, Abläufe zu erstellen oder anzupassen, die von einem Benutzer oder einem Drittanbietersystem initiiert wurden. Sie können auch Skripting-Aktionen hinzufügen, wenn Sie oder eine Geschäftseinheit weitere Anpassungen der Objekte innerhalb der Plattform benötigen. Es ist eine weitere Möglichkeit, ein grundlegendes Änderungsmanagement mit Versionshistorie, Rollback und Genehmigungen zu implementieren. Während vRO in der Vergangenheit verlangte, dass Workflows in Javascript erstellt werden, akzeptiert es jetzt Powershell, Python und Node.js. Die Basislizenzierung von vRealize Orchestrator ist in der Lizenz für vCenter Server enthalten, so dass dieses Tool für die meisten Unternehmen kostenlos ist.

CodeCapture

Wenn Sie sich in PowerCLI eingearbeitet haben, gibt es vielleicht einige Dinge, die Sie nicht auf Anhieb beherrschen. Oder Sie wollen etwas in einem bestimmten Zustand haben, wenn es aktualisiert wird, z. B. ein Test- oder Demolabor. Für mich ist dies der Punkt, an dem CodeCapture zu glänzen beginnt und Ihren Lernerfolg steigert. Sie können dies aktivieren, indem Sie das Developer Center in vSphere aufrufen und es unter CodeCapture einschalten. Innerhalb von vSphere sollten Sie nun eine schöne rote Aufzeichnungsschaltfläche sehen. Klicken Sie darauf und führen Sie die gewünschten Aufgaben aus und kehren Sie hierher zurück, wenn Sie fertig sind. Hier ist mein Beispiel für das Festlegen eines Namens für meinen Cluster und die Überprüfung des entsprechenden Codes:

API-Explorer

Der API-Explorer tut genau das, was auf dem Zettel steht. Er ist eine hervorragende grafische Darstellung der REST-API, in der Sie herumstöbern können. Je nachdem, welche Version von vCenter Server Sie verwenden, finden Sie ihn entweder unter https://vcenter_fqdn/apiexplorer oder in neueren Versionen im Developer Center (neben CodeCapture) im vSphere Client. Der Vorteil des letzteren Ansatzes ist, dass Sie bereits authentifiziert sind, da Sie beim vSphere-Client angemeldet sind. Der API Explorer liegt im Swagger-Format vor, ähnlich wie die API-Dokumentation in Runecast Analyzer.

Ich finde das toll, weil man einfach durchklicken kann, was man will, und dann auf "Ausführen" klickt, um den Code auszuführen. Dann werden die Ergebnisse auf dem Bildschirm angezeigt. Als Bonus erhalten Sie sogar einen Curl-Befehl, wenn Sie den Code in andere Skripte einbetten möchten.


Gareth Edwards

Gareth hat in verschiedenen Sektoren als Systemadministrator gearbeitet und ist ein großer Verfechter der #vCommunity, da er eine Führungsrolle in der UKVMUG innehat. Er ist ein 6-facher vExpert und ein vExpert Pro, der Leute in das Programm einführt. Vor seiner Tätigkeit bei Runecast arbeitete er als Systemingenieur für ein großes umweltfreundliches Energieunternehmen, das eine digitale Transformation durchlief. Dies passte gut zu seinen Hobbys außerhalb der Arbeit, seiner Vorliebe für Nachhaltigkeit und Heimautomatisierung. Sie finden Gareth auf seinem Blog https://www.virtualisedfruit.co.uk und auch als Co-Moderator des OpenTechCast-Podcasts. Sie finden ihn auf Twitter unter @GarethEdwards86.

Alle Artikel der Akademie
Keine Artikel gefunden.