VMware Bitfusion und Tanzu – Teil 1: Eine Einführung in Bitfusion

Dies wird ein mehrteiliger Artikel rund um das Produkt VMware Bitfusion. Ich werde eine Einführung in die Technik geben, wie man einen Bitfusion Server einrichtet und wie man dessen Dienste aus Kubernetes Pods nutzen kann.

Was ist Bitfusion?

Im August 2019 übernahm VMware BitFusion, einen führenden Anbieter im Bereich der GPU-Virtualisierung. Bitfusion bietet eine Softwareplattform, die bestimmte physische Ressourcen von den Compute-Servern entkoppelt. Es ist nicht für Grafikdarstellung oder Rendering konzipiert, sondern sondern vielmehr für Machine-Learning (ML) und Künstliche Intelligenz (AI). Bitfusion Systeme (Client und Server) laufen Stand heute nur auf ausgewählten Linux Systemen und unterstützen ML-Anwendungen wie beispielsweise TensorFlow.

Warum sind GPU für ML/AI Anwendungen so wichtig?

Prozessoren (Central Processing Unit / CPU) in aktuellen Systemen sind darauf optimiert, serielle Tasks in möglichst kurzer Zeit abzuarbeiten und dabei schnell zwischen Tasks zu wechseln. GPU (Graphics Processor Unit) dagegen können sehr viele Rechenoperation parallel bearbeiten. Im Namen der GPU steckt die ursprüngliche Anwendung. Die CPU sollte durch GPU bei der Grafikdarstellung entlastet werden, indem sämtliche Render- und Polygonberechnungen auf die GPU ausgelagert wurden. Mitte der 90er Jahre konnten einige 3D-Spiele noch wahlweise mit CPU oder GPU die Darstellung rendern. Schon damals ein Unterschied wie Tag und Nacht. GPU konnten die notwendigen Polygonberechnungen viel schneller und flüssiger berechnen.

Eine schöne Gegenüberstellung von GPU- und CPU-Architektur bescheibt Niels Hagoort in seinem Blogpost „Exploring the GPU Architecture„.

Aufgrund ihrer Architektur sind GPU jedoch nicht nur für Grafikanwendung ideal, sondern für alle Anwendungen, bei denen sehr viele arithmetische Operationen parallel ausgeführt werden müssen. Dazu gehören Blockchain, ML, AI und jede Art von Datenanalyse (Numbercrunching).

„VMware Bitfusion und Tanzu – Teil 1: Eine Einführung in Bitfusion“ weiterlesen

Tanzu-Tipp 001 – Pod Ereignis-Logs überwachen

Bei der Bereitstellung von Arbeitslasten kann es zu Warnungen oder Störungen kommen. Kubernetes Pods bilden hier keine Ausnahme. Probleme lassen sich leichter lösen, indem man einen Blick in die Logs wirft. Doch wie findet man die neuesten Logs eines bestimmten Pods?

Das Basiskommando hierfür lautet:

kubectl get events

Wir können die Ausgabe nach Timestamp sortieren und auf einen bestimmten Pod filtern.

kubectl get events --sort-by=.metadata.creationTimestamp -n <podname>

kubectl get events --sort-by=.metadata.creationTimestamp -n <podname> | nl

Live Anzeige der Events

In der Linux Welt gibt es das tail Kommando um die letzten (neuesten) Einträge einer Logdatei anzuzeigen. In Kubernetes lautet das analoge Kommando

kubectl logs --follow <podname>

vCenter Server Update Planner in Aktion

Ich möchte hier ein nützliches neues Feature vorstellen, das seit vSphere 7 Update 2 verfügbar ist. Es wird bei der Fülle an Neuerungen leicht übersehen, leistet aber sehr gute Dienste im Vorfeld eines vCenter Updates.

Voraussetzung für den Update Planner ist die Teilnahme am Customer Experience Improvement Program (CEIP).

Das erste Anzeichen für ein neues vCenter Updates ist eine Benachrichtigung am oberen Rand des vSphere-Clients.

Durch Klick auf „View Updates“ gelangt man direkt in den Update Planner. Dieser ist auch über das Menü erreichbar. Dazu wählt man in der Ansicht Hosts & Clusters das vCenter aus und selektiert in der Menüleiste oben rechts „Updates“ > vCenter Server > Update Planner.

Es werden alle aktuell verfügbaren Updates angezeigt. Um unten dargestellten Fall ist das vCenter bereits auf Stand 7.0 Update 2. Daher wird nur ein mögliches Update gelistet. Sind mehrere mögliche Updates vorhanden kann der Update Planner die Kompatibilität gegen alle diese Updates prüfen. Dazu wählt man den Radiobutton des gewünschten Updates aus (rote Markierung).

Ist ein Update ausgwählt, so wird das Aktionsfeld „Generate Report“ blau und zeigt die zwei möglichen Unterpunkte „Interoperability“ und „Pre-Update Checks„.

Interoperabilty Check

Der Interoperability Ckeck prüft neben den ESXi Hosts auch die Kompatibilität zu weiteren im vCenter registrierten VMware Produkten.

„vCenter Server Update Planner in Aktion“ weiterlesen

NSX-T Edge Ports am N-VDS blockiert

In meinem Homelab hatte ich vor einigen Wochen Tanzu mit NSX-T aktiviert. Nach einigen Hürden in der Planungsphase funktionierte die Konfiguration und auch das Nord-Süd Routing funktionierte tadellos. Die Edge-Nodes peerten über BGP mit dem physischen Router und machten die Routen in neue Segmente dort bekannt, so dass sie ohne weitere Konfiguratiom im Router sofort verfügbar waren.

Eine Besonderheit, die mein Lab von einer Produktivumgebung unterscheidet, ist dass es nicht 24/7 durchläuft. D.h. nach getaner Arbeit wird der gesamte Cluster herunter gefahren und die Anlage abgeschaltet. Schließlich verursacht ein Cluster im Leerlauf viel Lärm und verbraucht unnötig Energie.

Kürzlich startete ich das Lab neu und musste feststellen, daß aus den NSX Segmenten kein Kontakt zum Router oder DNS Server möglich war. Ein Fall fürs Troubleshooting.

Zunächst prüfte ich die Geneve-Tunnel zwischen den Transport-Nodes. Hier war alles in Ordnung und jeder Transport-Node konnte mit jedem anderen kommunizieren. Die Ursache wurde schnell in den Edge-Nodes lokalisiert. Ein Reboot der Edges oder ein vMotion auf einen anderen Host brachten keine Verbesserung.

Die Edges waren nicht komplett offline. Über das Management-Network waren sie administrierbar. Traceroute funktionierte über T1 und T0 Servicerouter bis zum Fastpath Interface fp-eth0. Ab dort wurde kein Paket weitergeleitet.

Das Interface fp-eth0 ist mit der verteilten Portgruppe Edge-Trunk auf vSwitch VDS-NSX verbunden. Ein Kontrollblick im vSphere-Client zeigte schnell, dass die Uplink Ports der Edges blockiert waren. Nicht im Status „down“, sondern geblockt.

Einen Kunden würde ich an dieser Stelle fragen, was er verändert habe. Ich bin mir aber sehr sicher, keine Veränderung am System oder der Konfiguration gemacht zu haben. Ja, das sagen sie alle 😉

„NSX-T Edge Ports am N-VDS blockiert“ weiterlesen