FlowForge-Konzept
FlowForge (FF) vereinfacht das Erstellen und Verwalten von Node-RED - Instances. Um dies zu erreichen, hat FlowForge eine Reihe von Konzepten eingeführt, die in diesem Artikel kurz besprechen werden, die ein wesentlicher Bestandteil von FF sind, um zu verstehen, dass sie uns helfen können, die Architektur des gesamten Produkts zu verstehen.
- Projekt
- Typ
- 栈
- Vorlage
- Snapshot
- Bereitstellung
- Team
- Geräte
Projekt
In FF repräsentiert jede Node-RED - Instanz ein Projekt.
In der FF-App können Sie ein Projekt erstellen, starten, stoppen und auch sein Protokoll anzeigen.
Jedes Projekt repräsentiert eine Node-RED - Instanz, aber bei der Integration dieser Instanzen können unterschiedliche benutzerdefinierte Konfigurationen verwendet werden.
FF-Instanzen, die in Docker und Kubernetes gestartet werden, können Entwickler über den Projektnamen als Hostname in ein Projekt zugreifen. Dies bedeutet, dass der Projektname die DNS-Sicherheit erfüllen muss. a-z, 0 - 9, - Man kann nicht mit Zahlen anfangen.
Projekttyp
Wenn Sie ein Projekt erstellen, können Sie einen Typ aus der Liste der Typen auswählen, die vom Administrator festgelegt wurden. Zum Beispiel kann jeder Typ eine unterschiedliche Menge an Arbeitsspeicher und CPU bereitstellen. In Zukunft werden weitere Merkmale im Typ festgelegt werden.
Wenn Sie die Pro-Version verwenden, hat jeder Typ eine andere monatliche Abgabe (haha...).
Projektstack
Der Stack eines Projekts kann einfach als Eigenschaft zur Laufzeit des Projekts verstanden werden. Enthält folgende Eigenschaften:
Node-RED - Version, Speicher, CPU-Zuteilung. Diese speziellen Details hängen davon ab, wie und wo FF läuft.
Ein Projektstack kann vom Plattformadministrator erstellt werden, und wenn ein Benutzer ein neues Projekt erstellen möchte, kann er den gewünschten Stack auswählen, indem er den Projekttyp auswählt.
Projektvorlage
Die Projektvorlage beschreibt die Eigenschaften einer Node-RED - Instanz, die vielen der Konfigurationsdateien von Node-RED ähnlich sind. Aber es unterstützt auch bei der Einrichtung einiger vorinstallierter Knoten.
bietet eine Reihe von Standardstreams und ändert das Aussehen des Editors.
Zusätzlich zu den oben genannten Eigenschaften können Projektvorlagen auch einige Umgebungsvariablen verwenden. Sie können angeben, ob eine Umgebung in einem Projekt nur für Lesen gilt, aber Sie können sie nicht deaktivieren.
(Offizielle Anmerkung: Nicht alle Features sind derzeit implementiert.
Ein Projekt-Snapshot
Ein Projekt-Snapshot ist ein Backup eines Projekts zu einem bestimmten Zeitpunkt und enthält Streams, Zertifikate und Laufzeit-Einstellungen.
Snapshots können im Panel von FF erstellt und gelöscht werden. Im Bedienfeld können Sie das Projekt auch auf einen neueren Snapshot zurückrollen.
Projekt-Bereitstellung
Jedes FlowForge-Projekt implementiert Node-RED, welches von FlowForge gehostet wird, in derselben Domäne
. Für ein FlowForge-Projekt gibt es zwei Arten von Deployment:
- gehostet auf FF
Derzeit umfasst diese Art der Bereitstellung eine einzelne Instanz des Knoten RED
, die in derselben Domäne wie FlowForge gehostet und über die Projekt-Einstellungen konfiguriert wird.
- Remote-Bereitstellungen
Remote-Bereitstellungen werden mit dem FlowForge Device Agent erstellt und verwaltet.
Sie können bereits vorhandene Geräte in ein Projekt binden und einen Ziel-Snapshot für diese Geräte festlegen, und FF wird den Snapshot automatisch auf jedes Gerät im Projekt bereitstellen.
Team
Jedes Projekt gehört zu einem Team und nur die Mitglieder dieses Teams haben Zugriff auf den Editor von Node-RED. Die Mitglieder können unterschiedliche Rollen haben. Verwenden Sie Teams, um Berechtigungen zu beschränken und Projekte zu isolieren, was Multi-Tenant - Nutzungsszenarien erfüllt.
Gerät
Die FF-Plattform kann Projekte verwalten, die auf einem Remote-Gerät ausgeführt werden. Um dies zu erreichen, bietet FF das Tool Device Agents. Der Benutzer muss es auf dem Remote-Gerät installieren, über das das Remote-Gerät mit der FF-Plattform in Verbindung tritt und Updates akzeptiert.
Ein Gerät ist in einem Team registriert und dem Projekt dieses Teams zugewiesen. Der Benutzer kann einen Projekt-Snapshot erstellen und es auf dem Gerät anwenden. Die FF-Plattform wird Snapshots auf alle Geräte im Rahmen des Projekts bereitstellen.
Um die Registrierung von Geräten weiter zu vereinfachen, können Sie Provisioning-Token erstellen, die es
Geräten ermöglichen, sich automatisch mit dem Team zu verbinden, ohne sich zuerst manuell anzumelden.
Das Token kann auch so konfiguriert werden, dass Geräte direkt Projekten im Team zuweisen.
Zusammenfassung
Das oben beschriebene sind einige der Kernkonzepte von FlowForge. Nur das Konzept zu betrachten, ohne zu betreiben, ist es nicht möglich, die Rolle jeder Funktion wirklich zu erleben. Später wird der Blogger für jedes Konzept eine praktische Erklärung machen.
Antwort veröffentlichen