In 5 Gründen, Kubernetes auf Ihrem Raspberry Pi Homelab auszuführen, erkläre ich, warum Sie Kubernetes zu Hause verwenden möchten. Diese Gründe sind relativ willkürlich und konzentrieren sich hauptsächlich auf Ergebnisse. Abgesehen von den Möglichkeiten von Kubernetes gibt es noch einige andere gute Gründe, Kubernetes als einen wichtigen nächsten Schritt in Ihrer persönlichen Computererfahrung zu betrachten.
1. Es basiert auf der Grundlage von Linux
container-are-linux.jpg
(Seth Kenlon, CC BY-SA 4.0)
Kubernetes hat einen gewissen Ruf. Genauer gesagt hat es mehrere Reputationen. Für manche Leute ist es eine mysteriöse Technologie mit einem unaussprechlichen Namen. Für andere ist es ein Schäferhund, der ihnen hilft, einen Überfluss an Containern zu hüten. Für andere ist es eine Art Betriebssystem für die Cloud, eine nützliche Schnittstelle für eine effektive Cloud-Entwicklung. Und für die meisten Leute ist es wahrscheinlich Back-End-Software, von der sie noch nie gehört haben. Wie Sie vielleicht erwarten, ist es all diese Dinge und mehr.
Nicht jeder interagiert auf die gleiche Weise mit Kubernetes, aber wenn Sie eine Neigung zur Systemadministration haben, werden Sie feststellen, dass Kubernetes nur ein weiterer Linux-Befehl.
Ich habe ein T-Shirt mit der Aufschrift “Container sind Linux,” die aussagt, was bei näherer Betrachtung offensichtlich ist. Die Containertechnologie verwendet Kontrollgruppen, um Images eines minimalen Linux-Betriebssystems auszuführen, das eine Anwendung oder eine Reihe von Anwendungen enthält. Von Anfang bis Ende: Wenn Sie sich für die Ausführung eines Containers entscheiden, entscheiden Sie sich für die Ausführung von Linux. Während Kubernetes-Befehle auf vielen Plattformen ausgeführt werden, verwaltet es Linux-Container, und wenn Sie über ein Terminal mit Kubernetes interagieren, ist es Linux wie gewohnt: Befehl, Optionen, Argumente, Syntax. Laufen kubeadm
oder (auf OKD oder OpenShift) oc
Befehle fühlen sich vertraut an, da sie wie alle anderen Linux-Befehle funktionieren, die Sie gewohnt sind. Was zunächst fremd erscheint, fühlt sich im Handumdrehen natürlich an, und jeder Linux-Benutzer, der Zeit im Terminal verbringen möchte, kann in Kubernetes viele lustige Dinge entdecken.
2. Flexibel
Kubernetes war früher etwas starr. Es unterstützte im Wesentlichen eine Container-Laufzeit – tatsächlich so streng, dass es bis heute einen fest codierten Shim gibt, um dieses Vermächtnis zu umgehen. Glücklicherweise ist Kubernetes heute flexibel genug, um den vielen unterschiedlichen Anforderungen von Administratoren gerecht zu werden. Es gibt Podman und CRI-O als Container-Engines, die beide in systemd integriert werden können. (Ich meinte, was ich sagte, als ich Ihnen sagte, es sei alles Linux darunter.) Sie haben die Wahl zwischen Dateisystemen, Clustergröße und -aufbau, Überwachungstools, Bildern, Programmiersprachen und vielem mehr. Ehrlich gesagt, manche Leute sagen, es gibt zu viel Wahl, was normalerweise der Fall ist, wenn ich vermute, dass es nach ein paar Jahren gerade genug Auswahl für mich haben wird.
3. Persönliche Entwicklung
Container sind ein fruchtbares Geschäft, und sie haben die Angewohnheit, sich schnell zu vermehren. Das ist beabsichtigt. Container sollen skalieren, und sie skalieren durch das Spawnen von Klonen. Stecken Sie die Behälter in Gruppen (nennen Sie sie Schoten) und automatisieren Sie die Verwaltung von Pod-Lebenszyklen. Das ist alles, was Kubernetes wirklich ist, und es verändert die Art und Weise, wie Server ausgeführt werden können.
Möglicherweise benötigen Sie keine unbegrenzt skalierbare Sammlung von Containern, und Sie benötigen möglicherweise nichts, was Sie bei der Verwaltung der einen oder zwei Container, die Sie ausführen, unterstützt. Wenn Sie jedoch von Ihrer Fähigkeit, Pods zu manipulieren, profitieren möchten, ist Kubernetes genau das richtige Werkzeug für Sie. Da immer mehr Unternehmen und Organisationen global agieren und sich der digitalen Transformation stellen, wird Kubernetes zu einer erforderlichen Fähigkeit in der IT. Wenn Sie auf diesem Weg sind, ist es eine gute Investition, ihn jetzt zu lernen und sich mit gängigen Problemen und deren Lösungen vertraut zu machen.
4. Machen Sie Container sinnvoll
Sie erinnern sich vielleicht noch vor einigen Jahren, als Open-Source-Projekte damit begannen, ihren Code als Container-Images zu verteilen. Für viele war es damals rätselhaft. Nicht viele Administratoren verstanden wirklich, was ein Container ist oder wo die Grenzen des imaginären Containers liegen, wie man in den Container kommt oder warum Daten nicht im Container leben können.
Jetzt ist die IT-Welt – einschließlich der Entwickler – mit dem Konzept von Containern vertraut. Für einen modernen CI/CD-Workflow ist die Anlieferung in Container einfach sinnvoll. Für den Systemadministrator haben Container jedoch zwei Vorteile: Die Installation ist (theoretisch) einfacher, als darauf zu warten, dass eine Distribution ihre Pakete aktualisiert, und Container skalieren. Es ist jedoch sehr wahrscheinlich, dass sich keiner dieser Vorteile wirklich für Sie manifestiert, bis Sie Kubernetes verwendet haben. Sobald Sie anfangen, Container mit Kubernetes und verwandten Tools zu verwalten, sind die Vorteile der Continuous Delivery und der Skalierbarkeit wahrscheinlich nur Ideen, von denen Sie gelesen haben. Integrieren Sie Container in die Verwaltung Ihrer Server, und Sie verstehen plötzlich, worum es bei der Aufregung geht.
jmeter.png

(Seth Kenlon, CC BY-SA 4.0)
Die einfachsten Tests machen es ziemlich klar. Richten Sie einfach Ihren bevorzugten Webserver in einem Container ein, erstellen Sie einen Pod, senden Sie Ihren Server mit Datenverkehr von Apache JMeter und beobachten Sie, wie Container reagieren.
5. Cloud-nativ
Wenn Sie mehr entwickeln als Systemadministration, bietet Kubernetes eine hervorragende Plattform für das, was leicht zum größten Ziel von allen geworden ist: Web-Apps. Wir alle verwenden jetzt Web-Apps, auch wenn die meisten Leute sie nur als ansehen “Webseiten.” Das Web hat (um es gelinde auszudrücken) eine enorm bedeutende Benutzerbasis, daher ist es sinnvoll, Open-Source-Anwendungen über den Browser bereitzustellen. Es gibt einige großartige Open-Source-Anwendungen, die über ein Netzwerk ausgeführt werden, und viele davon werden als Container bereitgestellt, um eine einfache Installation und eine konsistente Benutzererfahrung zu ermöglichen.
Bonus: Es macht Spaß
Erinnern Sie sich, als Sie noch neu bei Linux waren? Für manche Leute mag das Jahrzehnte her sein, für andere steht es noch vor der Tür. Für uns alle kann es jedoch eine lustige Herausforderung sein, etwas Neues zu lernen. Wenn Sie an dem Punkt angelangt sind, dass Linux-Installationen eher lästig als eine Herausforderung sind, sollten Sie versuchen, einen Kubernetes-Cluster in Ihrem Besenschrank aufzubauen. Es wird Ihnen alle Arten von Konzepten wiedergeben, die Sie vergessen haben. Hacken von Klartext-Konfigurationsdateien (insbesondere YAML), Konfigurieren von Netzwerkschnittstellen und -netzwerken, Routing von Datenverkehr, Durchforsten der Vor- und Nachteile eines Backends gegenüber einem anderen, Ausführen --dry-run
nach --dry-run
Tests und drücken Sie vorsichtig die Eingabetaste, um herauszufinden, ob Sie alles richtig gemacht haben. Ehrlich gesagt macht Kubernetes einfach Spaß.
Wenn Sie Ihre eigene Infrastruktur aufbauen möchten, gibt es nichts Schöneres als den Aufbau Ihres eigenen Kubernetes-Clusters. Eine ganz neue Welt wird sich Ihnen öffnen. Sie werden schnell zum Cloud-Architekten, perfektionieren Ihre offene Cloud, installieren erstaunliche Open-Source-Webanwendungen in Containern und bieten vielleicht sogar Ihrer Familie und Ihren Freunden Zugriff.
Sie werden die Lösung. Es ist so sehr befriedigend.
Kubernetes erkunden
Kubernetes mag zunächst unerreichbar erscheinen. Es ist neu, ein wenig beängstigend und am schlimmsten, es erfordert anscheinend eine Wolke. Es gibt jedoch einige Möglichkeiten, um loszulegen.
Installieren Sie zunächst entweder Minikube oder Minishift. Mit beiden können Sie eine lokale Instanz von Kubernetes auf Ihrem PC ausführen. Es ist nicht ganz so befriedigend wie das Erstellen eines Clusters und das Öffnen für Ihre Freunde, aber es ist eine großartige und sichere Möglichkeit, sich mit der Landschaft, den Befehlen und dem Toolkit vertraut zu machen.
Wenn Sie bereit für die Realität sind, lesen Sie den Artikel Erstellen Sie einen Kubernetes-Cluster mit dem Raspberry Pi von Chris Collins. Laden Sie danach unser kostenloses E-Book Running Kubernetes auf Ihrem Raspberry Pi Homelab herunter. Bevor Sie sich versehen, werden Sie auch Kubernetes-T-Shirts tragen.