vSphere HTML5 Web Client Fling

Vor einigen Tagen haben VMware-Entwickler ein neues Fling mit dem Namen vSphere HTML5 Web Client vorgestellt. Hinter dem Namen verbirgt sich eine auf SUSE Linux Enterprise Server 12 basierte Appliance, die einen neu entwickelten Web Client bereitstellt. Im Gegensatz zum altbekannten Web Client beschränkt sich dieser auf HTML5 und JavaScript, er kommt somit ohne Beelzebub Flash aus. Damit hat eine Entwicklung begonnen, die viele Kunden erfreuen dürfte – schließlich ist seit längerer Zeit bekannt, dass Flash eine stagnierende und sicherheitskritische Technologie ist.

Eine ähnliche Entwicklung gab es letztes Jahr schon beim vSphere Client (liebevoll auch „Legacy Client“ genannt). Mit dem vSphere Embedded Host Client gibt es ein Fling, welches einen ESXi-Host um eine HTML5-basierte Oberfläche erweiterte. Nach einigen Entwicklungsversionen erhielt dieser Client unter dem Namen VMware Host Client bereits Einzug in ESXi 6.0 Update 2.

Installation

Soll die Web Client-Appliance mit einer bereits vorhandenen vCenter Server Appliance (vCSA) registriert werden, so muss kurzzeitig die Login-Shell des Root-Benutzers geändert werden. Dazu werden die folgenden Kommandos über SSH abgesetzt:

$ ssh root@myvcsa
# shell.set --enabled True
# grep root /etc/passwd
root:x:0:0:root:/root:/bin/appliancesh
# chsh -s /bin/bash root
Changing login shell for root.
Shell changed.

Das Provisionieren der Web Client-Appliance erfordert die Definition eines IP-Pools. Nach der Bereitstellung wird die Appliance wie folgt mit der vCSA verknüpft und der Web Client gestartet (das Root-Passwort lautet demova):

$ ssh root@wc5
# /etc/init.d/vsphere-client configure --start yes --user root --vc myvcsa.domain.loc
Connecting to SSO server, you will be prompted for user's credentials
...
root@myvcsa.domain.loc's password: 
Creating /etc/vmware/vsphere-client/config directory
Creating /etc/vmware/vsphere-client/vsphere-client directory
Creating /etc/vmware/vsphereFeatures directory
Generating keystore file and property files.
Generating store.jks file...
Extract the vsphere-webclient certificate from VECS
Extract the vsphere-webclient private key from VECS
Extract the certificate from the TRUSTED_ROOTS VECS store
Picked up JAVA_TOOL_OPTIONS: -Xms32M -Xmx128M
Certificate was added to keystore
Group the vsphere-webclient private key and certificate into a .p12 file
Picked up JAVA_TOOL_OPTIONS: -Xms32M -Xmx128M
Entry for alias vsphere-webclient successfully imported.
Import command completed:  1 entries successfully imported, 0 entries failed or cancelled
Generating webclient.properties file...
Using myvcsa.domain.loc for generating URLs in webclient.properties
Copy ds.properties file
Copy vsphereFeatures.cfg file
prepared files: store.jks, webclient.properties, ds.properties
Downloading keystore file and property files.
Configuration process completed! Type '/etc/init.d/vsphere-client start' to start the vSphere Client server.
Starting vSphere Client Web Server
vSphere Client Web Server successfully started in 100 seconds

Übrigens ist es unabdingbar, dass beide Appliances die korrekte Uhrzeit verwenden – ansonsten kommt es zu Authentifizierungsproblemen. In diesem Zuge empfiehlt es sich also, die Uhrzeiten zu überprüfen:

vcsa # date
w5 # date

Anschließend kann die Standard-Shell des Root-Benutzers zurückgesetzt werden:

$ ssh root@myvcsa
# chsh -s /bin/appliancesh root
# logout

Die Web-Oberfläche kann danach über die folgende URL aufgerufen werden: https://<ip-addresse-oder-fqdn>:9443/ui

[alert style=“yellow“]Weitere Installationshinweise gibt es auf der Webseite des Flings.[/alert]

Erster Eindruck

Der neue Web Client ist bedeutend schneller – sowohl der erste Start sowie das Navigieren agieren deutlich flüssiger als bei der aktuellen Flash-Variante. Mir persönlich gefällt die neu gestaltete Oberfläche  – insbesondere die klaren Linien sagen mir zu. Auf den ersten Blick erkennt man, dass sich VMware hier zeitgemäßer Bootstrap-Technik bedient hat. 🙂

Lobenswert finde ich, dass dennoch das Layout des altbekannten Clients aufrecht erhalten hat. Das dürfte Bestandskunden erfreuen, da es die Umstellung erleichtert. Schön wäre es, wenn die einzelnen Reiter per Drag&Drop alternativ angeordnet werden könnten – wie beim aktuellen Web Client. Vorteilhaft wäre auch, wenn sie die einzelnen Spalten ausblenden ließen, um Platz zu sparen.

Prinzipiell arbeitet der Client bisher zuverlässig – es sei denn, man editiert VM-Einstellungen. Hier stürzt mir fast jedes Mal der Web-Browser ab (Firefox ESR 38.x, CentOS 6.7).

Zahlreiche Funktionen und Einstellungsmöglichkeiten fehlen noch – was bei einer ersten Version jedoch nicht verwunderlich ist. Mir gefällt jedoch die Richtung, in die die Entwicklung des neuen Web Clients geht – und bin gespannt, wie es weiter geht.

Galerie

Anbei noch einige Screenshots des Clients:

Ideen

Beim Verwenden des Clients sind mir einige Dinge aufgefallen, die noch ergänzt werden könnten:

  • Vollständige „Responsive UI“ – der Client verwendet die Bootstrap– und jQuery-Frameworks, ist aber noch nicht vollständig „responsive„. Es wäre genial, wenn man die Oberfläche auch auf Smartphones und Tablets nutzen könnte.
  • Lokalisierung über URL- oder Menüpunkt ändern – beim konventionellen Web Client lässt sich die Sprache entsprechend anpassen; ideal, wenn man gerade eine Dokumentation erstellt
  • Interaktiver Datenspeicher-Browser – wie im Embedded Host Client, um Dateien zu kopieren, verschieben, umzubenennen oder VMs zu registrieren
  • Netzwerk-Topologieansicht – wie im Embedded Host Client
  • Schickere Performance-Graphen – derzeit werden die altbekannten Performance-Graphen des vCenters angezeigt. Im Embedded Host Client werden diese dynamisch über HTML5-/JS-Mittel erstellt, was deutlich ansprechender aussieht
  • Kombinierte Hosts/Cluster- und VM-/Ordner-Ansicht – auf sowas warte ich ja schon seit Jahren. Meiner Meinung nach braucht man oftmals beide Ansichten und durch eine kombinierte Übersicht könnte man sich so das lästige Wechseln sparen.

Das Entwickler-Team freut sich immer über Feedback – beispielsweise über das integrierte Formular im Client. Also, falls euch beim Testen etwas auffällt – einfach die Gedanken teilen. 🙂

Sharing is caring

Schreibe einen Kommentar