ESXi auf Intel x86 Architektur ist im Laufe der letzten Dekade zur Selbstverständlichkeit geworden. In den letzten 1-2 Jahren konnten wir auf der VMworld eine ESXi Version sehen, die auf Arm Architektur läuft. Damit ist sie beispielsweise lauffähig auf Smart NICs oder Raspberry Pi. In der Zwischenzeit haben VMware Entwickler ein Fling Projekt mit dem Namen ESXi on Arm veröffentlicht. Dies ist natürlich nur ein Testprojekt fürs Labor und es gibt dafür keinen offizielen Support für den produktiven Betrieb. Dennoch ist es eine gute Gelegenheit mit minimaler Hardware einen ESXi Host zu betreiben. Ich werde in diesem Blogpost nicht das Setup des ESXi erklären – dafür gibt es eine gute Dokumentation auf der Fling-Projektseite. (PDF). Hier geht es um die Möglichkeiten dieser Plattform und was man damit machen kann.
An dieser Stelle möchte ich besonders die Arbeit von William Lam hervorheben, der auf seinem Blog viel Hintergrundinfo, Tipp & Tricks und Hacks rund um das Thema PhotonOS und Raspberry Pi bereitstellt.
Wir haben jetzt einen ESXi auf einem Raspi. Was können wir damit nun anfangen?
Bevor wir einsteigen, noch ein paar kurze Anmerkungen:
Mit ESXi on Arm kann man nicht beliebige VMs betreiben. Wie der Projektname es schon andeutet, handelt es sich hier um eine Arm Architektur. Folglich kann man darauf auch nur Betriebsysteme virtualisieren, die für Arm gemacht sind. Damit sind Windows Gastsysteme schon einmal ausgeschlossen (mit Ausnahme von Windows 10 on Arm). Ebenso die meisten Linux Distributionen. Zum Glück gibt es aber einige Linux-Varianten für Arm-Architektur, wie zum Beispiel Ubuntu Server on Arm, oder Photon OS. Das Anwendungsbeispiel in diesem Blogpost basiert auf dem aktuellsten Photon OS (Version 4 beta). Als Host Hardware verwende ich den “großen” Raspi4 mit 8 GB RAM. Man braucht nicht viel Phantasie, um zu erkennen, dass 8 GB RAM für Host und Gastsysteme recht knapp sind. Wir müssen also diese Ressource sparsam einsetzen.
Das Ziel ist, drei Kubernetes-Knoten als VM auf dem ESXi on Arm auf einem Raspberry Pi mit 8 GB RAM und 4 CPU Kernen auszurollen. Klingt ambitioniert, ist aber möglich dank eines schlanken K3s Kubernetes auf Arm.
Eingesetzte Hardware
- Raspberry Pi 4, Broadcom BCM2711, Quad core Cortex-A72 (ARM v8) 64-bit SoC @ 1.5GHz
- Kühlblech für Raspberry Pi4 (ohne dieses wird der Raspi sehr heiss)
- SD-Karte (nur für UEFI BIOS)
- USB Stick als ESXi Bootmedium
- USB 3 Hub mit externer Stomversorgung (Der USB Port des Raspi liefert nicht zuverlässig und ausreichend viel Strom für den Betrieb einer NVMe Karte)
- USB 3 NVMe M.2 Gehäuse
- Samsung NVMe EvoPlus 250 GB M.2
Verwendung des ESXi on Arm im Standalone-Modus
Obwohl mein ESXi on Arm in ein vCenter 7 integriert ist, werde ich keine der vCenter Eigenschaften für diese Demo verwenden (mit allen Einschränkungen und Umständlichkeiten).
Wir benötigen drei VMs für die drei Kubernetes Knoten. Es ist also eine gute Idee, eine VM mit allem was wir benötigen (außer K3s) zu bauen und diese dann zu klonen. Wenn Ihr jetzt denkt, dass das Klonen nur ein Mausklick in der UI sei, dann muss ich Euch leider enttäuschen. 😉 Ich werde auf diesen Punkt später zurückkommen. Bauen wir zunächst unsere erste Photon OS VM.
„ESXi on Arm als mini Kubernetes Cluster“ weiterlesen