FlowForge 概念
FlowForge(以下简称FF)能够使创建和管理Node-RED实例变得非常简单。为了实现这一点,FlowForge引入了很多概念,本篇文章就来简单聊一聊这些概念,他们是FF的重要组成部分,了解他们能够帮助我们理解整个产品的组成架构。
- 项目
- 类型
- 栈
- 模板
- 快照
- 部署
- 团队
- 设备
项目
在FF中,每一个Node-RED实例就代表一个项目。
在FF应用中,你可以创建创建,启动,停止一个项目,也可以查看它的日志。
每一个项目都代表一个Node-RED实例,但在集成这些实例时,可以使用不同的自定义配置。
在Docker和Kubernetes中启动的FF实例,开发者可以通过项目名作为hostname来进入一个项目。这意味着项目名必须符合DNS安全。即a-z,0-9,-。并且不能以数字开始。
项目类型
当你创建一个项目时,你可以从管理员设置的类型列表中选择一个类型。例如,每一个类型能够提供不同数量的内存和CPU。在未来,在类型上还会有更多的特性可以设置。
如果你用的是专业版,每一个类型都有不同的月供(哈哈…)。
项目堆栈
项目的堆栈,可以简单理解为项目运行时的属性。包括以下属性:
Node-RED的版本,内存,CPU分配。这些特殊的细节是依赖于FF是如何运行的,以及运行在哪里。
项目堆栈可以被平台管理员来创建,当一个用户要创建新的项目时,他们就可以通过选择项目类型 来选择选自己需要的堆栈。
项目模板
项目模板描述的是Node-RED实例自己的属性,这些属性很多都与Node-RED的配置文件类似。但它也支持在设置一些预安装的节点。
提供一组默认流并更改编辑器的外观。
除了以上特性,项目模板总也可以使用一些环境变量。你可以指定某一个环境在项目中是否只读,但你无法禁用它。
(官方备注:并不是所有的特性目前都已实现。 歪头笑)
项目快照
项目快照就是项目某一个时间点的备份,它包含了流,证书,和运行时设置。
快照能够在FF的面板中创建和删除。在面板中,你也可以项目回滚到一个较新的快照。
项目部署
每个FlowForge项目都部署了Node-RED,由FlowForge托管,在相同的
域。对于一个FlowForge项目,有两种类型的部署:
- 托管在FF上
目前,这种类型的部署包括节点RED的单个实例
托管在与FlowForge相同的域中,并通过项目设置进行配置。
- 远程部署
远程的部署通过使用 FlowForge Device Agent来进行创建和管理。
你可以绑定已经存在的设备到项目中,并且对这些设备设置一个目标快照,FF将自动地将快照部署到项目下的任何设备。
团队
每一个项目都属于一个团队,只有该团队的成员才有权限进去到Node-RED的编辑器中。成员可以有不同的角色。使用团队来限制权限,隔离项目,这就满足了多租户使用场景。
设备
FF平台可以管理运行在远程设备上的项目。为了实现这一目的,FF提供了设备代理这一工具。用户必须在远程设备上安装它,通过它,远程设备与FF平台建立联系,接受更新。
设备被注册到一个团队里,并且被指派到这个团队的项目中。用户可以创建一个项目快照,并将它应用在设备上。FF平台将部署快照到该项目下的所有设备上。
为了进一步简化设备注册,可以创建Provisioning Tokens以允许
设备自动连接到团队,而无需先手动注册。
令牌还可以配置为将设备直接分配给团队中的项目。
总结
以上就是FlowForge的几个核心概念。只看概念,不去操作是无法真正体会的每个功能的作用。后面博主会针对每一个概念,都做一下实战讲解。