Buchbesprechung: IoT Edge Computing with MicroK8s

Das Lehrbuch führt in den Einsatz von Containersystemen und Kubernetes mit Fokus auf Anwendungen im Internet der Dinge ein. Das Buch überzeugt mit Tiefgang.

In Pocket speichern vorlesen Druckansicht
Buchbesprechung: IoT Edge Computing with MicroK8s

(Bild: NicoElNino/Shutterstock.com)

Lesezeit: 5 Min.
Von
  • Tam Hanna
Inhaltsverzeichnis

Karthikeyan Shanmugam
IoT Edge Computing with MicroK8s
<packt>, September 2022
416 Seiten, ab 26,99 € (Buch, eBook)
ISBN: 978-1-80323-063-4

Container, darin "lebende" Applikationen und Orchestrierungssysteme wie Kubernetes sind aus der Welt der Softwareentwicklung nicht mehr wegzudenken. Mit IoT Edge Computing with MicroK8s hat der <packt>-Verlag nun ein Lehrbuch vorgelegt, das den Einsatz von Containersystemen und Kubernetes im Bereich des Internet der Dinge (IoT) illustriert.

Der Autor Karthikeyan Shanmugam beginnt mit zwei Kapiteln, welche die Rolle von Kubernetes im Betrieb einer auf Docker-Containern basierenden Applikation beleuchten. Neben einer Kurzeinführung in Kubernetes geht er auf die vor allem von Canonical vorangetriebene MicroK8s-Umgebung ein. Wer bereits grundlegende Docker-Kenntnisse mitbringt, findet sich in diesem Teil des Buchs schnell zurecht.

Regelrecht unterhaltsam wird das Werk aus Sicht des Rezensenten ab dem dritten Kapitel, wenn der Autor einen aus zwei Raspberry Pi bestehenden Cluster nutzt, um die verschiedenen Systeme en vivant zu demonstrieren. Quasi nebenbei vermittelt der Text Überlegungen dazu, wie eine "vernünftige", für das Verarbeiten von IoT-Daten vorgesehene, Architektur aufzubauen ist. Die Erklärungen zu Themen wie der korrekten Platzierung der Elemente und die Liste der als Virtual Cubelets bezeichneten Plug-ins mit IoT-Bezug helfen dabei, Such- und Arbeitszeit einzusparen.

Ausgesprochen einsteigerfreundlich beschreibt der Autor die Konfiguration von MicroK8s auf den beiden Raspberries. Er geht dabei auf alle relevanten Details ein – und verwendet als Betriebssystem die Servervariante der populären Linux-Distribution Ubuntu.

Dass Shanmugam seine Ausführungen am Beispiel einer realen Umgebungen ausrichtet, erlaubt ihm auch verschiedene, im praktischen Kubernetes-Betrieb auftretende Probleme vorzuführen. Neben einem detaillierten Exkurs zum Vernetzen der einzelnen Kubernetes-Elemente über das IP-Protokoll bespricht Shanmugam, wie man Lastverteilung für eine in Kubernetes gehostete Applikation implementiert. Da sich das Kubernetes-Entwicklungsteam aus diesem kniffligen Thema heraushält, greift Shanmugam zur Illustration auf den Bare-Metal-Load-Balancer MetalLB zurück.

Der für ein Lehrbuch ungewöhnlich komplexe Demonstrations-Cluster lädt dazu ein, anhand verschiedener Monitoring-Tools-Anwendungen den Gesundheitszustand (Health) des Systems zu überwachen. Shanmugam vertraut dabei auf das Trio aus Alertmanager, Grafana und Prometheus – eine bewährte Kombination, die sich in vielen praktischen Deployments antreffen lässt.

Ab etwa Seite 200 wendet sich der Autor der praktischen Nutzung des erzeugten Clusters zu. Das erste Beispiel ist der Einsatz der Workflow-Verwaltung Kubeflow: Shanmugam illustriert das Erzeugen einer Daten-Verarbeitungspipeline, die Data Scientists zum Abarbeiten von Machine-Learning-Aufgaben einsetzen können.

(Bild: <packt>)

Lobenswert ist, dass sich das Buch nicht allein auf Kubeflow beschränkt, sondern auch fortgeschrittene Varianten wie das von Canonical vorangetriebene Charmed Kubeflow beschreibt.

Das Ausführen von Serverless Apps ist eine weitere Aufgabe, die ein Kubernetes-Cluster mit etwas Hilfe erledigen kann. Im Ökosystem stehen dazu gleich eine Reihe von Tools zur Verfügung: Das Lehrbuch illustriert Knative und openFAAS, um Leserinnen und Lesern ein Grundverständnis der Möglichkeiten rund um Serverless zu vermitteln.

Laut einiger Vorurteile sollen in Containern residierende Applikationen im Allgemeinen nicht mit persistenter Speichermöglichkeit ausgestattet sein. Shanmugam zeigt aber anschaulich, dass dies nicht der Fall ist. Neben allgemeinen Überlegungen dazu, wie sich persistenter Speicher in einem Kubernetes-Verbund realisieren lässt, beschreibt er das Einrichten einer auf dem Datenbanksystem PostgreSQL basierenden Applikation, die ihrerseits zustandshaltig ist.

Es verwundert daher auch nicht, dass Shanmugam darüber hinaus verschiedene andere High-Availability-Techniken bespricht und auch ein Kapitel der Hardwarevirtualisierung widmet, die noch höhere Sicherheit gewährleisten soll. Dass darauf sogar noch ein Abschnitt zu Service-Meshes folgt, bestätigt den positiven Eindruck des Lehrbuchs, das versucht, Kubernetes vollumfänglich vorzustellen.

Die Überlegungen zum Einsatz von Ubuntu Core, welches noch sicherere Container verspricht, sind nicht nur im Bereich Kubernetes interessant, sondern insbesondere für IoT relevant. Zu guter Letzt spendiert Shanmugam ein Kapitel, das einen Ausblick auf die Zukunft von Kubernetes wirft und auf Vernetzungspotenzial zu anderen Technologien eingeht.

Wer im IoT-Umfeld aktiv ist, sich bisher aber noch nicht eingehend mit Kubernetes auseinandergesetzt hat, findet in dem Lehrbuch eine exzellente Einführung. Die vermittelten Kenntnisse sind danach nicht nur im Bereich des Internets der Dinge, sondern auch ganz allgemein beim Arbeiten mit Containern hilfreich.

Schon angesichts des Tiefgangs ist IoT Edge Computing with MicroK8s ein empfehlenswertes Werk. Mit 416 Seiten ist es nicht zu lang; dank der reichen Bebilderung und des straffen Lektorats ist der englische Text auch für Nicht-Muttersprachler ohne Probleme lesbar.


Tam Hanna
befasst sich seit dem Jahr 2004 mit Handcomputern und Elektronik. Derzeit liegt sein Fokus auf interdisziplinären Anwendungen von Informationstechnologie.

(map)