Hallo zusammen! Im letzten Post haben wir darüber gesprochen, warum ich mich dazu entschieden habe, zu Hause einen Kubernetes-Cluster aufzubauen. Heute gehen wir ins Detail und schauen uns an, welche Hardware ich ausgewählt habe und warum.
Die Suche nach der perfekten Hardware
Als ich begonnen habe, mich nach der passenden Hardware für meinen Cluster umzusehen, standen zwei Dinge im Vordergrund: Die Lösung sollte lüfterlos sein und wenig Strom verbrauchen. Durch meine Recherche und dank der Inspiration von verschiedenen Stellen, bin ich auf Thin Clients von Fujitsu Siemens gestoßen. Die Entscheidung fiel auf die Futro S920, die vor etwa 10 Jahren auf den Markt kamen und mit einem 4-Kern AMD-Prozessor ausgestattet sind.
Warum Futro S920?
Diese kleinen Rechner können mit bis zu 16 GB RAM ausgestattet werden, was für meine Zwecke mehr als ausreichend ist. Ein entscheidendes Kriterium war, dass die CPUs AVX unterstützen, da MongoDB ab Version 5 dieses CPU-Feature voraussetzt. Einige meiner geplanten Anwendungen nutzen MongoDB. Es ist wichtig zu betonen, dass ich keinen Hochleistungscluster benötige. Für die meisten Anwendungen, die ich betreibe, sind die Ressourcen dieser Geräte völlig ausreichend, insbesondere da die Anzahl der Nutzer in meinem Heimnetzwerk überschaubar ist.
Aufrüstung auf Maximum
Ich habe drei dieser S920 Thin Clients für jeweils 20 Euro gebraucht erstanden. Sie kamen mit 4 GB RAM und ohne Festplatte. Das war kein Problem, denn ich hatte vor, sie aufzurüsten. Jedes Gerät habe ich mit dem maximalen RAM von 16 GB bestückt. Für das Betriebssystem und die Anwendungen kam eine 256GB große mSATA-Platte rein, und für zusätzlichen Speicher habe ich eine 1TB SSD eingebaut. Während für die mSATA-Platte bereits ein Steckplatz vorhanden war, musste ich für die SSD ein bisschen basteln.
Um die SSDs einzubauen benötigt man ein abgewinkeltes SATA-Kabel, denn der SATA-Port liegt unter dem CPU-Kühler. Zur Stromversorgung bietet sich der Floppy-Stromanschluss des Boards an, dafür habe ich dann einen Adapter von Floppy auf SATA verwendet. Das Gehäuse bietet leider keine Möglichkeit, eine Festplatte zu befestigen, deswegen braucht man auch einen speziellen Adapter, den ich mit einem 3D-Drucker angefertigt habe. Damit konnte ich die SSDs physisch im Gehäuse der Thin Clients befestigen und eine stabile, zuverlässige Verbindung sicherstellen. Dieser kreative Ansatz zeigt, wie man mit ein wenig Erfindungsgeist und den richtigen Werkzeugen auch unkonventionelle Lösungen umsetzen kann.
Software und Konfiguration
Als Betriebssystem fiel die Wahl auf Ubuntu 22.04 LTS in der Minimalversion. Um den Cluster zu verwalten und meine Anwendungen zu betreiben, ist ein zuverlässiges und sicheres Betriebssystem essenziell. Mit Ansible habe ich dann meine Standardkonfiguration für Nutzer, Shell (oh-my-zsh), Basismonitoring (Icinga) und Security hinzugefügt. Automatisierung ist der Schlüssel, um den Verwaltungsaufwand gering zu halten und die Konsistenz über alle Nodes hinweg zu gewährleisten.
Fazit
Die Wahl der richtigen Hardware ist ein kritischer Schritt beim Aufbau eines Heimclusters. Mit den Futro S920 Thin Clients habe ich eine leistungsfähige, stromsparende und kosteneffiziente Lösung gefunden, die perfekt zu den Anforderungen meiner Heimanwendungen passt. Die Unterstützung für AVX durch die CPUs und die Möglichkeit, die Systeme nach meinen Bedürfnissen aufzurüsten und zu konfigurieren, machen sie zur idealen Wahl für mein Projekt, ohne dass unnötig Ressourcen verschwendet werden.
Im nächsten Blogpost werden wir uns ansehen, wie ich k3s installiert und konfiguriert habe, um meinen Kubernetes-Cluster zum Leben zu erwecken. Bleibt dran!
2 Gedanken zu „Der Aufbau meines Kubernetes-Heimclusters: Die Wahl der Hardware“