ADMIN

2025

08

2025-07-30T16:00:00

Industrienetze und IoT

SCHWERPUNKT

074

Kubernetes-Cluster

Netzwerkinfrastruktur

Skalierbare Kubernetes-Cluster für industrielle Workloads mit MicroK8s

Produktion im Container

von Philip Lorenz

Veröffentlicht in Ausgabe 08/2025 - SCHWERPUNKT

Industriebetriebe stehen zunehmend vor der Herausforderung, Produktionsdaten flexibel auszuwerten, Maschinen in Echtzeit zu überwachen und neue IoT-Anwendungen rasch zu integrieren. Moderne Fertigungslinien, vernetzte Sensoren und automatisierte Qualitätssicherung basieren oft auf Container-Technologien – und dabei insbesondere auf Kubernetes als Orchestrierungsplattform. Dieser Workshop zeigt, wie MicroK8s als schlanke Kubernetes-Distribution klassische Ansätze erweitert und gezielt für Edge- und IoT-Szenarien zum Einsatz kommt.

Gerade am Edge, den dezentralen Standorten außerhalb lokaler Rechenzentren, sind besondere Eigenschaften gefragt: Die Bereitstellung muss unkompliziert und ressourcenschonend, der Betrieb wartbar und stabil sein. Gleichzeitig dürfen Sicherheitsanforderungen, Updates und Compliancefragen Industrieumgebungen nicht unnötig verkomplizieren. Viele Unternehmen suchen daher nach einem Ansatz, der bewusst den Mittelweg geht: Sie möchten die Vorteile eines standardisierten Kubernetes-Stacks – Offenheit, Skalierbarkeit, modulare Erweiterbarkeit – auch im Produktionskontext nutzbar machen, ohne dass dabei unnötige Komplexität oder Betriebsaufwand entstehen.
MicroK8s im Überblick
MicroK8s [1] stellt einen kompakten Kubernetes-Ansatz speziell für Edge- und ressourcenknappe Umgebungen bereit. Die Installation erfolgt dabei mit wenigen Schritten: Ein einzelner Snap-Befehl genügt, um eine vollständige Kubernetes-Umgebung unter Linux einzurichten. Dadurch lassen sich gängige Installationshürden spürbar reduzieren und Updates in der Praxis einfacher gestalten. Von zentraler Bedeutung ist dabei die Architekturentscheidung für "dqlite" ("Distributed SQLite") [2] als zentrale Datenhaltung. Während viele größere Kubernetes-Distributionen auf etcd setzen, nutzt MicroK8s stattdessen die leichtgewichtige, verteilte Datenbank dqlite. Diese verbindet die Eigenschaften einer ressourcenarmen SQLite-Implementierung mit Cluster-Fähigkeiten und Konsensmechanismen. Auf diese Weise gelingt ein stabiler Betrieb selbst auf Geräten mit geringem RAM- oder CPU-Budget, wie sie am Edge typischerweise zum Einsatz kommen.
Ein weiteres Merkmal ist das modulare Add-on-System. Nutzer aktivieren benötigte Dienste wie Ingress, Monitoring, Broker-Systeme oder Zertifikatsverwaltung gezielt nach Bedarf. Gerade für Produktionsnetzwerke mit begrenzter Hardware vermeidet MicroK8s so unnötige Komponenten und vereinfacht den Betrieb.
Gerade am Edge, den dezentralen Standorten außerhalb lokaler Rechenzentren, sind besondere Eigenschaften gefragt: Die Bereitstellung muss unkompliziert und ressourcenschonend, der Betrieb wartbar und stabil sein. Gleichzeitig dürfen Sicherheitsanforderungen, Updates und Compliancefragen Industrieumgebungen nicht unnötig verkomplizieren. Viele Unternehmen suchen daher nach einem Ansatz, der bewusst den Mittelweg geht: Sie möchten die Vorteile eines standardisierten Kubernetes-Stacks – Offenheit, Skalierbarkeit, modulare Erweiterbarkeit – auch im Produktionskontext nutzbar machen, ohne dass dabei unnötige Komplexität oder Betriebsaufwand entstehen.
MicroK8s im Überblick
MicroK8s [1] stellt einen kompakten Kubernetes-Ansatz speziell für Edge- und ressourcenknappe Umgebungen bereit. Die Installation erfolgt dabei mit wenigen Schritten: Ein einzelner Snap-Befehl genügt, um eine vollständige Kubernetes-Umgebung unter Linux einzurichten. Dadurch lassen sich gängige Installationshürden spürbar reduzieren und Updates in der Praxis einfacher gestalten. Von zentraler Bedeutung ist dabei die Architekturentscheidung für "dqlite" ("Distributed SQLite") [2] als zentrale Datenhaltung. Während viele größere Kubernetes-Distributionen auf etcd setzen, nutzt MicroK8s stattdessen die leichtgewichtige, verteilte Datenbank dqlite. Diese verbindet die Eigenschaften einer ressourcenarmen SQLite-Implementierung mit Cluster-Fähigkeiten und Konsensmechanismen. Auf diese Weise gelingt ein stabiler Betrieb selbst auf Geräten mit geringem RAM- oder CPU-Budget, wie sie am Edge typischerweise zum Einsatz kommen.
Ein weiteres Merkmal ist das modulare Add-on-System. Nutzer aktivieren benötigte Dienste wie Ingress, Monitoring, Broker-Systeme oder Zertifikatsverwaltung gezielt nach Bedarf. Gerade für Produktionsnetzwerke mit begrenzter Hardware vermeidet MicroK8s so unnötige Komponenten und vereinfacht den Betrieb.
Ab drei Knoten bietet die Plattform Hochverfügbarkeit für Steuer- und Datenhaltungskomponenten, wobei MicroK8s den HA-Modus selbstständig erkennt und aktiviert. Voraussetzung für eine stabile Hochverfügbarkeit ist dabei jedoch eine identische Versionierung aller Snap-Installationen, konsistente Netzwerkkonfiguration (zum Beispiel identische MTU) und eine zuverlässige Zeitsynchronisation der Cluster-Nodes. Ohne diese Rahmenbedingungen kann die automatische Failover-Funktion beeinträchtigt sein.
MicroK8s unterstützt dabei zahlreiche Hardwareplattformen – von x86-basierten Industrierechnern und Intel-NUCs über ARM-Systeme wie den Raspberry Pi oder NVIDIA Jetson bis hin zu Virtualisierungsumgebungen. Damit eignet sich die Distribution als flexible technische Basis für verschiedenste Edge- und IoT-Architekturen.
Aber auch die Grenzen von MicroK8s sollen nicht unerwähnt bleiben: Im Vergleich zu anderen Distributionen sind die Konfigurationsoptionen bewusst eingeschränkt gehalten – was das Management für viele Edge-Szenarien vereinfacht, aber bei sehr komplexen oder hochspezialisierten Anwendungsfällen deutliche Grenzen setzt. Ebenso ist MicroK8s stärker mit dem Ubuntu- und Snap-Ökosystem verzahnt, was für Nutzer, die größere Distributionsoffenheit oder Möglichkeit zur tiefgehenden Anpassung suchen, zu berücksichtigen ist.
Es existieren verschiedene Alternativen, die das Ziel ressourcenoptimierter Edge-Orchestrierung mit eigenen Akzenten verfolgen. K3s setzt etwa auf eine Single-Binary-Architektur und unterstützt zusätzliche Storage-Provider, k0s zeichnet sich durch besondere Modularität und flexible CRI-Integration aus, während OpenShift Edge einen Fokus auf Enterprise-Integration und Support legt. Die Entscheidung für eine Plattform sollten Sie daher immer vor dem Hintergrund individueller Integrationsanforderungen, Managementpräferenzen und langfristiger Wartungsstrategien treffen.
Dreistufiges IoT-Modell
Industrielle IoT-Projekte orientieren sich häufig an einem dreistufigen Architekturmodell, das auf die Bedingungen von Produktionsbetrieben zugeschnitten ist. Während klassische IoT-Architekturen meist grundsätzlich in Sensorik, Netzwerke und Anwendungsschicht gliedern, arbeitet Industrie 4.0 mit der Aufteilung in Sensor-Nodes, Edge-Gateways und Core- beziehungsweise Cloudsysteme. Gerade das Edge-Gateway übernimmt dabei weit mehr als bloße Weiterleitung, denn es dient als zentrale Schaltstelle für lokale Vorverarbeitung, Zwischenspeicherung und flexibel steuerbare Anwendungsdienste.
Die erste Schicht besteht aus Sensor-Nodes, die an Maschinen, Anlagen oder im Umfeld kontinuierlich Messwerte wie Temperatur, Druck, Strom oder auch Schwingungen erfassen. Die Sensoren übertragen diese Rohdaten klassischerweise per MQTT oder OPC-UA – Protokolle, die auf zuverlässige Datenübermittlung und Echtzeitfähigkeit ausgelegt sind und auch bei geringer Bandbreite stabile Kommunikation erlauben.
Auf der zweiten Ebene, die mit dem Edge-Gateway den Verarbeitungskern am Übergang zwischen Produktionsstätte und IT-Welt bildet, kommt MicroK8s typischerweise zum Einsatz. Es arbeitet auf robusten Industrie-PCs oder Embedded-Systemen mit containerisierten Anwendungen, die Daten filtern, vorverarbeiten oder zwischenpuffern, etwa in einer Zeitreihen-Datenbank. Ebenso lassen sich hier MQTT-Broker, REST-APIs oder Visualisierungsdienste bereitstellen. Nicht zuletzt sorgt das Add-on-System von MicroK8s für passgenaue Ressourcennutzung – nur tatsächlich benötigte Komponenten laufen. Das entlastet zentrale Infrastrukturen, minimiert Latenz und ermöglicht den Weiterbetrieb auch bei kurzzeitigen Netzwerkausfällen.
Die dritte Schicht verkörpert die Core- oder Cloudebene, in der die langfristige Speicherung, zentralisierte Analyse, Verwaltung und das Flottenmanagement der verteilten Systeme erfolgt. Oft sind hierzu externe Clouddienste wie Azure, AWS oder Google Cloud eingebunden – alternativ übernehmen vorhandene Rechenzentren diese Aufgaben. Die Verbindung zum Edge gelingt über verschlüsselte Protokolle wie HTTPS, MQTT oder REST.
Die besondere Rolle von MicroK8s im Edge-Layer ergibt sich aus der Kombination aus platzsparender Architektur, modularer Erweiterbarkeit und zugeschnittener Ausfallsicherheit. Es ermöglicht eine dezentrale, eigenständig wartbare Plattform für den Betrieb containerisierter Dienste direkt vor Ort und ohne auf zentrale Ressourcen angewiesen zu sein. Dieses Prinzip liefert eine tragfähige Basis für skalierbare Industrial-IoT-Anwendungen und zukunftssichere Industrie-4.0-Architekturen.
Die Rolle und Aufgaben von MicroK8s im industriellen IoT.
Von der Installation zum Cluster
Die MicroK8s-Installation erfolgt über das Snap-Paketmanagement, das auf allen gängigen Linux-Systemen verfügbar ist. Unterstützt werden sowohl x86- als auch ARM-basierte CPUs, womit sich MicroK8s für klassische Industrie-PCs, Intel NUCs, Raspberry Pi, NVIDIA Jetson und andere Edge-Plattformen eignet. Als Mindestvoraussetzung gelten 2 GByte RAM und 20 GByte freier Speicherplatz (für produktive Umgebungen empfiehlt sich mehr).
Ein einziger Befehl reicht, um MicroK8s inklusive aller Systemkomponenten zu installieren. Für die Produktion ist es ratsam, einen festen Channel – zum Beispiel Version 1.33 – zu wählen, um Patch- und Updatezyklen gezielt steuern zu können, wie in diesem Beispiel:
sudo snap install microk8s --classic --channel=1.33
Direkt nach der Installation ist es sinnvoll, den eigenen Benutzer zur MicroK8s-Gruppe hinzuzufügen. Damit laufen alle Kommandos ohne sudo, was Scripting und Administration erheblich vereinfacht. Nach dem Hinzufügen genügt der zweite Befehl (oder ein Re-Login/Neustart), damit die Rechte greifen:
sudo usermod -aG microk8s $USER
newgrp microk8s
Eine der großen Stärken von MicroK8s am Edge ist, dass Sie zentrale Dienste nur nach Bedarf hinzuschalten. Dies gelingt mit wenigen Kommandos für MQTT-Broker, Ingress-Controller, Prometheus, Grafana, Dashboard oder Netzwerk-Policies über Add-ons, wie in diesem Beispiel:
microk8s enable ingress mqtt
microk8s enable prometheus grafana
microk8s enable dashboard
Nach Aktivierung des Dashboards über den dritten Befehl lässt sich dieses über den lokalen Proxy via microk8s dashboard-proxy zugänglich machen. Der Proxy stellt das Dashboard standardmäßig auf Port 10443 zur Verfügung. Ist die VM über eine öffentliche IP-Adresse zugänglich und sind keine restriktiven Firewallregeln gesetzt, kann das Dashboard (gegebenenfalls unbeabsichtigt) auch über das Internet erreichbar sein. Für Produktionsumgebungen ist das nicht anzuraten, Sie sollten den Zugang ausschließlich über einen SSH-Tunnel oder über dedizierte Management-IPs zuzulassen.
Um mehrere Cluster-Dienste professionell, sicher und skalierbar im Netzwerk bereitzustellen, nutzen Sie vorzugsweise den mitgelieferten Ingress-Controller. Nach Aktivierung per Add-on müssen Sie zusätzlich eine Ingress-Ressource (YAML) anlegen, die das Routing auf die jeweiligen Cluster-Services regelt. Unser Beispiel in Listing 1 zeigt, wie Sie HTTP-Anfragen zentral auf einen beliebigen Service weiterleiten. Natürlich ist dieses Manifest noch mit den üblichen Kubectl-Befehlen anzuwenden. Für den produktiven Betrieb sollte im Anschluss ein DNS-Eintrag auf die öffentliche Cluster-IP-Adresse zeigen und mit einem Zertifikat (etwa über das Add-on cert-manager) HTTPS bereitgestellt werden.
Listing 1: HTTP-Anfragen auf einen Service weiterleiten
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: http-ingress
spec:
  rules:
    - http:
      paths:
        - path: /
          pathType: Prefix
          backend:
            service:
              name: some-service
              port:
                number: 80
Updates für MicroK8s und Add-ons beziehen Sie per snap refresh, wobei Snap standardmäßig Images und Patches direkt aus dem Internet lädt. In abgeschirmten Netzen (Air Gap, OT/Industrieumfeld, kein Internetzugang) ist der Aufwand deutlich höher: Hier müssen Sie Snap-Proxys, lokale Paket-Repositories oder komplett manuelle Offline-Deployments einrichten und pflegen, damit der Cluster aktuell und sicher bleibt. Planung und Maintenance-Strategien sollten diesen Spezialfall entsprechend berücksichtigen, um Lücken und Complianceprobleme zu verhindern.
Speichern am Edge
Für viele industrielle Workloads – beispielsweise Zeitreihen-DBs oder Puffer-Applikationen – sind persistente Volumes und eine tragfähige Storage-Strategie unerlässlich. MicroK8s bietet standardmäßig lokalen Storage ("hostPath"-basierte Persistenz), was sich für Testumgebungen oder weniger kritische Daten eignet. Für anspruchsvollere Setups können Sie Storage wie OpenEBS oder andere CSI-Provider per Helm nachrüsten, um Features wie dynamische Provisionierung, RAID oder verteilte Volumes zu realisieren.
Es gilt zu beachten: Während MicroK8s die Compute-Hochverfügbarkeit (etwa bei Pod-Failover im Cluster nach einem Node-Ausfall) abbildet, ist die Sicherung und Konsistenz von persistenten Daten ein gesondertes Thema. Fällt ein Node mitsamt lokalem Speicher aus und es greift kein replizierter Speicher, sind Datenverluste möglich. Compute-HA ersetzt nicht Storage-HA und gerade für Edge-Workloads mit geschäftskritischen Puffern ist hier zusätzliche Planung erforderlich.
Hochverfügbarkeit und Cluster-Betrieb: Stabilität ab drei Nodes
Ein kritischer Faktor für den produktiven Betrieb von Kubernetes in industriellen Szenarien ist die Ausfallsicherheit. Weder Produktionsunterbrechungen noch nicht erreichbare Steuerungsdienste dürfen im Produktionsbereich zugelassen werden. MicroK8s bringt hierfür ein integriertes Hochverfügbarkeitskonzept mit, das auf die typischen Anforderungen von Edge- und Industrie-Architekturen eingeht.
Der Einstiegspunkt in die Cluster-Hochverfügbarkeit besteht darin, MicroK8s auf mindestens drei Edge-Geräten oder Industrie-PCs im gleichen Netzwerksegment zu installieren. Ab drei Nodes aktiviert MicroK8s automatisch den Hochverfügbarkeitsmodus, sofern diese Rahmenbedingungen erfüllt sind:
- Versionsgleichheit: Alle MicroK8s-Installationen müssen im identischen Snap-Channel und auf gleicher Version laufen.
- Netzwerkkonfiguration: Die MTU-Einstellungen im Cluster sollten einheitlich gesetzt sein, um Netzwerkprobleme und Partitionierungen zu vermeiden.
- Zeitsynchronisierung: Die Systemzeiten der Nodes sollten per NTP-Dienst oder vergleichbarer Services exakt abgeglichen sein, um Konsens und Datenreplikation sicherzustellen.
Sind diese Voraussetzungen erfüllt, repliziert MicroK8s zentrale Komponenten wie API-Server und dqlite-Datenbanken nach dem Konsensprinzip auf alle Cluster-Knoten. Bei Ausfall einer Komponente oder eines gesamten Nodes übernimmt ein verbleibender Knoten automatisch die Rolle, Workloads werden nachgezogen, Dienste bleiben weiterhin erreichbar und der Cluster bleibt steuerbar.
Die Clusterbildung starten Sie auf dem primären Node mit einem Join-Befehl, den Sie anschließend auch auf den übrigen Nodes ausführen. Auf dem ersten Node lautet das Kommando:
microk8s add-node
Und auf allen weiteren:
microk8s join <Cluster-IP-Adresse>:<Port>/<Token>
Den aktuellen Zustand des Clusters und die Verteilung der Ressourcen überwachen Sie jederzeit mit:
microk8s kubectl get nodes
microk8s kubectl get pods -A
MicroK8s erlaubt das nahtlose Hinzufügen und Entfernen von Knoten während des Betriebs. Das Self-Healing-Konzept sorgt dafür, dass bei Gerätewechsel oder regulärer Wartung keine manuelle Wiederherstellung erforderlich ist.
Zur Wartung unterstützt MicroK8s Rolling Updates. Sie können den Cluster oder einzelne Add-ons aktualisieren, ohne laufende Anwendungen zu unterbrechen. Die Nodes gehen dabei nacheinander in den Wartungsmodus, aktualisieren sich und kehren automatisch in den Verbund zurück. Sie starten dies via:
sudo snap refresh microk8s
So lassen sich neue Funktionen, Bugfixes und Sicherheitspatches effizient im Cluster verteilen, ohne dabei den laufenden Betrieb zu beeinträchtigen. Falls die Anforderungen wachsen, können Sie jederzeit zusätzliche Nodes ergänzen und damit die Hochverfügbarkeit weiter gezielt verstärken.
Schutz am Edge
In MicroK8s stehen direkt nach der Grundinstallation zentrale Sicherheits- und Managementwerkzeuge bereit, die den Einstieg in ein abgesichertes IoT- und Produktionssetup deutlich vereinfachen. Im Mittelpunkt stehen dabei RBAC für feingranulare Rechtevergabe und Calico für Netzwerksegmentierung. Beide Komponenten bilden die Grundlage, um branchenspezifische Standards wie ISO 27001 (Managementsystem für Informationssicherheit) oder IEC 62443 (Sicherheit industrieller Automatisierungs- und Steuerungssysteme) in der eigenen Umgebung abbilden zu können.
Beispielsweise ermöglicht das Aktivieren von RBAC (microk8s enable rbac) das Einrichten von individuellen Rollen und Rechtebindungen (RoleBindings) im Cluster. So lässt sich präzise steuern, welcher Nutzer oder Serviceaccount auf welche Ressourcen zugreifen kann. Ein üblicher Anwendungsfall aus der Praxis: Produktionsmitarbeiter erhalten Leserechte auf Logdaten eines bestimmten Workloads, jedoch keinerlei Berechtigung für sicherheitskritische Einstellungen oder Deployment-Steuerung. Die Erfüllung von Normforderungen wie ISO 27001 (etwa Trennung sensibler Aufgaben) ist dadurch technisch möglich, allerdings erst nach expliziter Konfiguration und regelmäßiger Pflege der jeweiligen Regeln und Rollen.
Auch bei der Netzwerksicherheit liefert MicroK8s über microk8s enable calico eine zentrale Basistechnologie. Calico erlaubt es, Netzwerksegmentierungen via Network Policies umzusetzen und beispielsweise zu verhindern, dass Webanwendungen intern auf Datenbanken oder andere kritische Komponenten zugreifen können. Standardmäßig sind nach dem Aktivieren keine Restriktionen gesetzt. Erst durch das Definieren von individuellen Regeln pro Use Case entstehen tatsächlich isolierte Zonen und Kommunikationsgrenzen.
Compliance erfordert mehr als Tools
RBAC und Calico sind Basistools für die Umsetzung von Sicherheitsmaßnahmen, erfüllen isoliert betrachtet aber keineswegs eine vollständige IT-/OT-Normkonformität. Zum vollständigen Compliance-Stack insbesondere im Sinne von IEC 62443 oder ISO 27001 zählen auch "PodSecurityStandards" (früher "PodSecurityPolicies"), signierte Container-Images, SBOMs (Software Bill of Materials) sowie Strategien fürOffline-Updates und regelmäßige Audits. MicroK8s liefert das Grundgerüst und die zentralen Mechanismen, doch Normkonformität entsteht erst durch die gezielte Ergänzung, Pflege und Überwachung solcher weiterführenden Sicherheitspraktiken und Complianceprozesse.
Die industrielle Produktion wie die klassische IT benötigt jederzeit Transparenz über den Systemzustand. Mit microk8s enable prometheus grafana etablieren Sie ein vollständiges Monitoring inklusive Metrik- und Dashboardfunktionalität. In Verbindung mit RBAC sowie OIDC (microk8s enable oidc-dexem>) sichern Sie den Zugang zu Dashboards und Betriebsdaten zusätzlich ab, um unbefugten Zugriff zu vermeiden. Für produktionsrelevante Alarmierung richten Sie PrometheusRules individuell ein – etwa für das Alerting bei Temperaturüberschreitung, Anomalien an Maschinen oder Cluster-Engpässen.
Fazit
Besonders für den industriellen Edge zeigt sich MicroK8s als zugängliche, pragmatische Umgebung für die produktionsnahe Container-Orchestrierung – von der Inbetriebnahme auf unterschiedlichen Hardwareplattformen über die Integration wesentlicher Add-ons wie Monitoring oder Security bis hin zu nativer Hochverfügbarkeit. Die einfache Installation und klare Snap-Architektur erleichtern den Einstieg spürbar. Auch die flexible Skalierung und die unkomplizierte Erweiterbarkeit durch Add-ons sprechen für MicroK8s, wenn zügige Ergebnisse und wartungsarmer Betrieb im Vordergrund stehen.
(jp)
Link-Codes
[1] MicroK8s: https://microk8s.io