Portainer Agent dynamisch per Edge installieren (IoT-Anwendung)
Portainer Agent mit Edge Compute so einrichten, dass sich IoT-Gateways automatisch an der Portainer-Server-Instanz anmelden und sich Docker-Container zentral verwalten lassen.
Der Portainer Agent ist ein kleiner Container, der auf einem Docker-Host laeuft und die Verbindung zur zentralen Portainer-Server-Instanz herstellt. Ueber den Agent kann der Server auf die Ressourcen des Knotens zugreifen und dessen Docker-Container verwalten.
Mit der Edge-Funktion (Edge Compute) laesst sich dieser Ablauf automatisieren: Statt jedes Geraet manuell anzubinden, melden sich neu installierte Agents selbststaendig am Server an und warten dort auf ihre Freigabe. Das ist besonders praktisch fuer IoT-Szenarien, in denen viele Gateways oder Steuerungen ausgerollt werden.
Voraussetzungen: eine erreichbare Portainer-Server-Instanz, ein Linux-basiertes IoT-Gateway oder eine IoT-Steuerung mit installiertem Docker sowie SSH-Zugriff auf dieses Geraet.
Edge Compute am Portainer-Server aktivieren
Schritt 1. Edge-Compute-Funktion einschalten. Navigieren Sie im Portainer-Webinterface zum Menuepunkt Settings und oeffnen Sie dort den Bereich Edge Compute. Aktivieren Sie die benoetigten Schalter und klicken Sie anschliessend auf Save settings. Danach erscheint in der Seitennavigation der zusaetzliche Eintrag Edge Compute.
Schritt 2. Automatische Edge-Environment-Erstellung konfigurieren. Bleiben Sie im Bereich Edge Compute und scrollen Sie nach unten zum Punkt Automatic Edge Environment Creation.
Hier nehmen Sie folgende Einstellungen vor:
Der Edge-ID-Generator erlaubt es, einen Befehl auf dem Client-Geraet auszufuehren und damit z. B. den Hostnamen als ID zu verwenden. In dieser Anleitung nutzen wir den Hostnamen als ID.
Als Client-Hostsystem waehlen Sie Linux. Fuer die Installation auf einem IoT-Gateway oder einer IoT-Steuerung waehlen Sie als Bereitstellungsart Docker Standalone.
Portainer generiert daraufhin einen Installationsbefehl fuer den Agent. Klicken Sie auf Copy, um diesen Befehl zu kopieren - er wird im naechsten Schritt auf dem Geraet benoetigt.
Agent auf dem IoT-Geraet installieren
Schritt 3. Per SSH auf dem Geraet anmelden. Verbinden Sie sich von einem Terminal aus mit dem IoT-Gateway bzw. der IoT-Steuerung. Verwenden Sie dabei den Benutzernamen und die IP-Adresse des Geraets.
1ssh <user>@<IP-Adresse>
Ein konkretes Beispiel:
1ssh iotueli@192.168.15.250
Anschliessend werden Sie aufgefordert, das Passwort des Geraets einzugeben.
Schritt 4. Installationsbefehl ausfuehren. Fuegen Sie vor dem in Schritt 2 kopierten Installationsbefehl das Kommando sudo ein und fuehren Sie ihn dann auf dem Geraet aus. Die Installation des Agent kann einige Minuten dauern.
Der von Portainer kopierte Befehl enthaelt bereits die passende Server-Adresse und das Edge-Token. Setzen Sie lediglich sudo davor, falls Ihr Benutzer keine Root-Rechte besitzt.
Verlaeuft die Installation ohne Fehlermeldung, war sie erfolgreich. Sie koennen die SSH-Sitzung nun schliessen und zum Portainer-Webinterface zurueckkehren.
Geraet in Portainer verbinden
Schritt 5. Geraet im Waiting Room freigeben. Oeffnen Sie in der Seitennavigation den Punkt Waiting Room. Dort erscheint das frisch installierte IoT-Gateway bzw. die IoT-Steuerung. Haetten Sie den Agent z. B. auf zehn Geraeten installiert, wuerden hier alle zehn aufgelistet.
Um ein Geraet hinzuzufuegen, waehlen Sie es aus und klicken auf Associate Device. Das Geraet wird damit der Portainer-Umgebung zugeordnet.
Schritt 6. Geraet verwalten. Oeffnen Sie in der Seitennavigation Home und klicken Sie auf das hinzugefuegte Geraet. Sie koennen jetzt saemtliche Docker-Container auf diesem Geraet zentral ueber Portainer verwalten.
Fazit
Mit aktiviertem Edge Compute und dem dynamisch generierten Installationsbefehl laesst sich der Portainer Agent in wenigen Minuten auf einem IoT-Geraet einrichten. Die Geraete melden sich automatisch am Server an und muessen lediglich im Waiting Room freigegeben werden - ein Ablauf, der sich auch ueber viele Knoten hinweg gut skalieren laesst.
