Effizientes Container Management mit Portainer und Portainer-Agent

In diesem Beispiel wird deutlich, wie Portainer in einer Industrieumgebung angewendet werden kann, um die Verwaltung von Containern zu vereinfachen und zu verbessern. Hierbei wurde Portainer auf einem Industrie-Computer installiert und auf den IoT-Gateways und IoT-Steuerungen wurde der Portainer-Agent als Container installiert.

Dies ermöglicht es, von Portainer auf dem Industrie-Computer aus die verschiedenen Container wie NodeRED, MQTT-Broker oder andere Container auf den Geräten auszurollen, ohne direkt auf die untergeordneten Geräte zugreifen zu müssen. Dies bietet einen erheblichen Vorteil, insbesondere in einer verschlüsselten Umgebung, in der Container schnell und sicher ausgerollt und verwaltet werden können.

Durch die Integration von Portainer Agent können Entwickler und Administratoren Container-Plattformen in einer verteilten Umgebung zentral verwalten und überwachen. Dies verbessert die Effizienz und Produktivität in der Industrie und erleichtert die Verwaltung von Container-Plattformen erheblich.

Ein weiterer Vorteil von Portainer ist, dass Container schnell und einfach auf Knopfdruck erweitert werden können, um eine Skalierbarkeit von Containeranwendungen in der Industrie zu gewährleisten. Dies ermöglicht es Unternehmen, schnell auf Änderungen zu reagieren und ihre Anwendungsentwicklung in der Industrie zu optimieren.

Insgesamt bietet die Verwendung von Portainer und Portainer Agent in der Industrie eine benutzerfreundliche und intuitive Benutzeroberfläche, die es Entwicklern und Administratoren ermöglicht, Container einfach zu erstellen, zu verwalten und zu überwachen. Die Integration von Portainer Agent vereinfacht die Verwaltung von Container-Plattformen und bietet Unternehmen eine skalierbare und zuverlässige Lösung für ihre Anwendungsentwicklung in der Industrie.


Grundvoraussetzung für Portainer

Damit die folgenden Schritte funktionieren, ist es notwendig, Portainer als Docker-Container auf dem System zu installieren. Sollte noch keine Docker Engine installiert sein, muss diese im Voraus installiert werden.

Anleitung für Portainer CE

Um in Portainer die Agents zu integrieren, was ich auch in diesem Tutorial zeigen werde, verwenden wir hier die Business-Edition von Portainer. Falls Sie jedoch nur Portainer selbst nutzen möchten, um Ihre Docker-Container zu verwalten, klicken Sie auf den folgenden Link.


Einleitung

Ich habe die Anleitung in drei Schritte unterteilt. Im ersten Schritt wird der Portainer-Agent auf meiner IoT-Steuerung und auf dem IoT-Gateway, die mit u-OS ausgestattet wurden, installiert. Dieser Schritt kann auf beliebigen Geräten durchgeführt werden.

Im zweiten Schritt wird der Portainer-Server als Docker-Container auf meinem Ubuntu-Server installiert. Dabei nutze ich einen Industrie-Computer als Hostsystem.

Im dritten Schritt verbinde ich die mit dem Portainer-Agent ausgestattete IoT-Steuerung mit der Server-Instanz von Portainer. Dadurch kann ich sämtliche Container über meinen Ubuntu-Server einfach mithilfe der benutzerfreundlichen Container-Visualisierung von Portainer verwalten. Dies ist ein äußerst effizientes Feature, insbesondere wenn mehrere Portainer-Agenten Geräte integriert werden sollen.

Hier sehen Sie eine Abbildung meines Testaufbaus an meiner Testwand. Wil der Aufbau etwas unübersichtlich erscheint, habe ich die folgenden Grafiken übersichtlicher gestaltet, damit sie besser verständlich sind.


Schritt1 – Installation Portainer Agent

Portainer verwendet den Portainer Agent Container, um mit der Portainer Server-Instanz zu kommunizieren, um Zugriff auf die Ressourcen des Knotens zu ermöglichen. Dieser Teil der Anleitung erläutert, wie Sie den Portainer Agent auf Ihrem u-OS Gerät installieren und wie Sie eine Verbindung zu Ihrer Portainer Server-Instanz aus herstellen können.

Um den Portainer Agent auf Ihrem Gerät zu installieren, müssen Sie zunächst den SSH-Zugriff auf u-OS aktivieren. Hier sind die Schritte, die Sie befolgen müssen:

Öffnen Sie den Webserver von u-OS. Um auf den Webserver zuzugreifen, geben Sie die IP-Adresse Ihres u-OS-Geräts in Ihren Browser ein und melden Sie sich an.

Sobald Sie angemeldet sind, öffnen Sie das u-OS Control Center.

  1. Klicken Sie auf «Identity & Access».
  2. Wählen Sie «SSH Access».
  3. Klicken Sie auf «Enable SSH Access», wie im Schritt 3 visualisiert.

Durch die Aktivierung des SSH-Zugriffs können Sie nun den Portainer Agent installieren.

Um die Installation durchzuführen, müssen Sie sich über SSH mit u-OS verbinden. Öffnen Sie dazu ein Terminal und verwenden Sie den folgenden Befehl:

ssh <user von u-OS>@<IP-Adresse von u-OS>
ssh iotueli@192.168.15.250

Verwenden Sie dabei den Benutzernamen, den Sie bei der Erstellung von u-OS festgelegt haben, und die IP-Adresse von u-OS. Sie werden dann aufgefordert, sich mit Ihren Anmeldedaten bei u-OS anzumelden.

Nach der erfolgreichen Anmeldung werden Sie aufgefordert, das Anmeldepasswort von u-OS einzugeben, das Sie während der Erstellung festgelegt haben.

Portainer Agent dynamisch (IoT Anwendung)

Um diese Anleitung ausführen zu können, müssen Sie zuerst Schritt 3 gemäß der Anleitung durchführen, diese finden Sie weiter unten.

Nachdem Sie Schritt 2 erfolgreich abgeschlossen haben, kehren Sie zu diesem Teil der Anleitung zurück.

Sie haben bereits einen korrigierten Text erhalten. Hier ist er erneut:

Sie sehen, dass auf meinem Portainer-Webinterface der Bereich «Edge Compute» hinzugefügt wurde. Nun werden wir diesen Bereich auch bei Ihnen aktivieren und die weiteren Schritte durchführen, damit sich Ihr Portainer-Agent automatisch in Portainer-Server integriert. Diese Anleitung ist besonders geeignet für IoT-Anwendungen.

Die Aktivierung von Edge Compute ist sehr einfach und kann schnell durchgeführt werden.

  1. Navigieren Sie zum Menüpunkt «Settings«.
  2. Öffnen Sie den Menüpunkt «Edge Compute«
  3. Sie können nun die markierten Schalter-Buttons aktivieren und auf «Save settings» klicken.

Nachdem Sie die Einstellungen in Schritt 1 gespeichert haben, wird die Seitennavigation um «Edge Compute» erweitert.

Bleiben Sie bitte auf diesem Menüpunkt, wir werden hier als Nächstes einen weiteren Schritt durchführen.

Wir sind immer noch im Menüpunkt «Edge Compute». Bitte scrollen Sie nach unten, bis Sie zum Punkt «Automatic Edge Environment Creation» gelangen, und führen Sie dann die folgenden Schritte aus.

  1. Wir sind beim Punkt «Automatic Edge Environment Creation»
  2. Der Edge-ID-Generator gibt Ihnen die Möglichkeit, einen Befehl auf dem Client-Gerät auszuführen, um beispielsweise den Hostnamen als ID zu verwenden. In diesem Fall werden wir den Hostnamen als ID verwenden.
  3. An dieser Stelle müssen Sie das Client-Hostsystem auswählen. In diesem Fall handelt es sich um Linux-Systeme.
  4. Für die Installation auf Ihrem IoT-Gateway oder Ihrer IoT-Steuerung wählen Sie bitte «Docker Standalone».
  5. An dieser Stelle wird Ihnen ein Installationsbefehl für die Installation des Portainer-Agenten generiert.
  6. Klicken Sie bitte auf «Copy», um den Installationsbefehl zu kopieren. Wir benötigen diesen für die Installation auf Ihrem Gerät.

Wir melden uns jetzt über SSH auf unserem IoT-Gateway oder der IoT-Steuerung an

  1. Fügen Sie bitte vor dem Installationsbefehl, den Sie im vorherigen Schritt kopiert haben, das Kommando «sudo» ein. Anschließend fügen Sie den kopierten Installationsbefehl ein.
  2. Jetzt wird der Portainer-Agent auf Ihrem System installiert. Dieser Vorgang kann einige Minuten dauern.

Wenn bei Ihnen nach der Installation alles wie auf dem Bildschirmausschnitt aussieht, war die Installation erfolgreich. Sie können nun wieder zum Webinterface von Portainer zurückkehren und das Terminal, über das Sie sich per SSH angemeldet haben, schließen.

Nachdem Sie wieder im Webinterface von Portainer sind, können Sie die folgenden Schritte durchführen.

  1. Öffnen Sie bitte in der Seitennavigation den Punkt «Waiting Room«
  2. Jetzt wird Ihnen das IoT-Gateway oder die IoT-Steuerung aufgelistet

Wenn Sie nun beispielsweise den Portainer-Agenten auf 10 Geräten installiert haben, werden diese Geräte hier alle aufgelistet.

Jetzt werden wir das Gerät zu Portainer hinzufügen:

  1. Selektieren Sie das Gerät an
  2. Klicken Sie auf «Associate Device»

Wenn Sie jetzt ein Gerät hinzufügen, ändert sich das Bild, wie in der kommenden Abbildung dargestellt.

Das Gerät wird jetzt hinzugefügt.

Um eine Übersicht über alle hinzugefügten Geräte zu erhalten, können Sie die folgenden Schritte durchführen:

  1. Öffnen Sie die Seitennavigation «Home»
  2. Klicken Sie auf das hinzugefügte Gerät

Jetzt haben Sie die Möglichkeit, sämtliche Docker-Container auf dem hinzugefügten Gerät zu verwalten.


Portainer Agent Statisch

Um den Portainer Agent Docker Container zu installieren, kopieren Sie bitte das folgende Codebeispiel und fügen Sie es in Ihr Terminal ein. Bestätigen Sie dann mit der Eingabetaste, um die Installation des Portainer Agents zu starten.

sudo docker run -d -p 9001:9001 --name portainer_agent --restart=always -v /var/run/docker.sock:/var/run/docker.sock -v /var/lib/docker/volumes:/var/lib/docker/volumes portainer/agent:latest

Sobald die Installation abgeschlossen ist, sollten Sie den Portainer Agent erfolgreich auf Ihrem System installiert haben.

Nach Abschluss der Installation können Sie, wie im Schritt 1 und 2 dargestellt, die erfolgreiche Installation des Portainer Agents überprüfen. Im ersten Schritt können Sie mithilfe des folgenden Docker-Befehls alle installierten Container auflisten:

sudo docker ps -a

Wenn Sie den oben genannten Docker-Befehl ausgeführt haben, sollten Sie eine Liste aller Docker-Container auf Ihrem System sehen, einschließlich des gerade installierten Portainer-Agenten.

Überprüfen Sie, ob der Portainer-Agent Container in der Liste aufgeführt ist, indem Sie nach dem Namen des Containers suchen, der normalerweise «portainer/agent» lautet. Wenn der Container aufgelistet wird, wurde der Portainer-Agent erfolgreich installiert und läuft auf Ihrem System.


Schritt 2 – Installation Portainer Server (Linux)

In diesem Schritt werden wir die Portainer Server Instanz auf einem Industrie-Computer installieren. Wie bereits erwähnt, ist eine Voraussetzung dafür, dass die Docker-Engine bereits installiert wurde.

Um die Installation zu vereinfachen, habe ich hier den Befehl zur Installation von Docker integriert. Kopieren Sie diesen Befehl und führen Sie ihn auf dem Hostsystem aus, auf dem Sie die Portainer-Server-Instanz betreiben möchten.

sudo docker run -d -p 8000:8000 -p 9443:9443 --name=portainer --restart=always \
    -v /var/run/docker.sock:/var/run/docker.sock \
    -v portainer_data:/data \
    portainer/portainer-ee:latest

NacNachdem Sie den Befehl zur Installation von Docker ausgeführt haben, wird das Image von Portainer heruntergeladen und anschließend installiert. Mit dem folgenden Befehl können Sie überprüfen, ob der Container ordnungsgemäß integriert und gestartet wurde:

sudo docker ps

Portainer sollte jetzt wie in der vorherigen Abbildung unten aufgelistet sein.

Sie können nun den Portainer-Webserver öffnen, indem Sie die folgende Adresse in Ihrem Webbrowser eingeben: https://ip-adresse:9443 dadurch wird die Registrierungsseite von Portainer geöffnet.

Erstellen Sie jetzt einen Administratorbenutzer auf der Registrierungsseite von Portainer. Nach erfolgreicher Anmeldung können Sie weitere Benutzer mit unterschiedlichen Rechten und Rollen erstellen.

Wie bereits erwähnt, verwende ich hier die Business Edition von Portainer. Lassen Sie sich jedoch nicht abschrecken, denn Portainer bietet die Möglichkeit, die Business Edition kostenlos zu nutzen. Mit der kostenlosen Version haben Sie die Einschränkung, dass Sie nur 5 Portainer-Agents integrieren können. Für Tests sollte dies jedoch ausreichend sein und die meisten Privatanwender benötigen in der Regel keine 5 Portainer-Agents. Klicken Sie auf den unteren Button, um sich bei Portainer zu registrieren und einen Lizenzschlüssel zu erhalten!

Folgen Sie diesem Link, um direkt zur Registrierungsseite von Portainer zu gelangen. Füllen Sie die erforderlichen Informationen aus und Sie erhalten sofort nach erfolgreicher Registrierung einen Lizenzschlüssel. Tragen Sie diesen anschließend ein.

Herzlichen Glückwunsch, Sie haben den ersten Schritt abgeschlossen und können nun die Portainer Business Edition nutzen. Portainer ist ein großartiges Tool und ich wünsche Ihnen viel Spaß dabei, es besser kennenzulernen und zu nutzen! Wenn Sie weitere Fragen haben oder Hilfe benötigen, stehe ich Ihnen gerne zur Verfügung.


Schritt 3 – Portainer Agent mit Portainer Server verbinden

In diesem Abschnitt geht es darum, das IoT-Gateway und die IoT-Steuerung, auf denen der Portainer-Agent-Container installiert ist, mit dem Portainer-Server auf dem Industrie-Computer zu verbinden, um die Verwaltung der Container auf diesen Geräten über den Portainer-Server zu ermöglichen.

Um eine Verbindung herzustellen, müssen Sie zuerst den Portainer-Server im Browser öffnen und sich mit Ihren Anmeldedaten anmelden. Klicken Sie dann auf «Environments» in der linken Seitenleiste und dann auf «Add Environments» in der oberen rechten Ecke.

Um einen Agent in den Portainer-Server zu integrieren, wählen Sie zuerst die Docker Standalone Variante aus, wie im Schritt 1 markiert. Klicken Sie dann auf «Start Wizard«, um den Agent-Integrationsprozess zu starten.

Um den Agent in den Portainer-Server zu integrieren, wählen Sie zuerst «Agent» aus und definieren Sie einen Namen für das Gerät. Tragen Sie dann die IP-Adresse des Geräts und den Port 9001 ein und klicken Sie auf «Connect«. Der Agent sollte sich nun erfolgreich mit dem Portainer-Server verbinden lassen und Sie können die Container auf dem Gerät über den Portainer-Server verwalten.

Nachdem Sie den Agent erfolgreich in den Portainer-Server integriert haben, sollte das Gerät unter der Rubrik «New Environments» aufgelistet sein. Wenn das Gerät aufgelistet wird, haben Sie alles ordnungsgemäß eingerichtet und können jetzt die Container auf dem Gerät über den Portainer-Server verwalten.

Jetzt können Sie auf den Home-Button klicken, wie im Schritt 2 dargestellt. Dadurch gelangen Sie zurück zur Portainer-Homepage, auf der Sie nun alle Ihre Docker-Container und -Services verwalten können.

Nachdem Sie auf den Home-Button geklickt haben, werden alle Environments aufgelistet, die mit dem Portainer-Server verbunden sind. Sie können ein beliebiges Environment auswählen, indem Sie auf den entsprechenden Namen klicken.

Nach der Auswahl des Environments gelangen Sie zur Übersichtsseite, auf der alle Docker-Container und Services auf dem jeweiligen Gerät aufgelistet sind. Von hier aus können Sie die Container auf dem Gerät verwalten, wie z.B. neue Container erstellen, vorhandene Container starten, stoppen oder entfernen und die Container-Logs anzeigen.