返回
openBalena V2.0.3 绿色版

openBalena

立即下载

小编提示:PC版不适合移动端,如下载有问题点击反馈!

软件介绍

openBalena是一款专业的连接设备部署管理平台。服务器创建管理必备软件openBalena。该设备运行balenaOS(旨在在IoT设备上运行容器的主机操作系统),并通过balena CLI进行管理。用户可以使用balena CLI配置应用程序容器,推送更新,检查状态,查看日志等。 OpenBalena后端服务由久经考验的组件组成,这些组件已经在balenaCloud的生产环境中运行了很多年。它们可以安全可靠地存储设备信息,并且可以通过内置的VPN服务进行远程管理,并且可以有效地将容器映像分发到您的设备。在此程序的帮助下,开发人员可以自行管理大量设备。释放openBalena的主要动机之一是减轻对锁定的恐惧,并消除退出(进入)的障碍。为了使用户能够解决问题并自行添加功能,系统将继续与balenaCloud同步开发openBalena,大部分开发过程都是在开放环境中进行的,以便用户可以共同改进开源项目和托管服务;需要它的用户可以下载体验

新的功能:

可扩展:部署和管理一百万个设备。

强大的API和SDK:扩展openBalena以满足您的需求

轻松更新:使用单个命令即可远程更新设备上的软件

基于容器:受益于针对边缘进行了优化的虚拟化功能。

内置VPN:无论设备的网络环境如何,您都可以访问它们

配置简单:向您的机队添加设备非常容易。

使用说明:

在VPS上设置您自己的openBalena实例

为此,我们将设置裸机Ubuntu 18.04 x64服务器。

安装依赖

在设置balena环境之前,首先,我们需要安装一些工具并确保我们的机器是最新的。

登录到新服务器:

$ ssh root @您的服务器_ip

openBalena

更新所有初始软件:

$ apt-get更新&& apt-get安装-y build-essential git

openBalena

创建一个balena用户:

$ adduser balena

openBalena

添加用户管理员权限:

$ usermod -aG sudo balena

openBalena

安装docker:

$ apt-get安装docker.io

openBalena

将balena用户添加到docker组:

Usermod -aG码头工人Balena

安装docker-compose:

$ curl -L https://github.com/docker/compose/releases/download/1.24.0/docker-compose-Linux-x86_64 -o / usr / local / bin / docker-compose

$ chmod + x / usr / local / bin / docker-compose

openBalena

用于测试您的docker-compose安装$ docker-compose --version。

安装OpenSSL:

Apt-get安装libssl-dev

安装nodejs:

Apt-get安装Node.js

安装NPM:

apt-get install npm

安装openBalena

安装完所有必需的软件之后,我们可以继续安装openBalena。

使用以下命令将openBalena项目克隆到您的主文件夹中:

Git克隆https://github.com/balena-io/open-balena.git〜/ open-balena

转到oen-balena目录并运行配置脚本。这将创建一个新目录config,并为实例生成适当的SSL证书和配置。提供的电子邮件和密码将被使用

创建一个超级用户帐户,您将使用该帐户对系统进行身份验证。

$ ./scripts/quickstart -U -P

您可以选择将实例配置为在自定义域名下运行。默认值为openbalena.local。在本指南中,我们将使用domain来设置mydomain.com,因此在这种情况下,我们将使用:

$ ./scripts/quickstart -U -P -d mydomain.com

有关更多可用选项,请参考脚本的帮助:

$ ./scripts/quickstart -h

至此,我们准备使用以下方法启动openBalena实例:

$ ./scripts/compose up -d

您可以通过以下方式停止实例:

$ ./scripts/compose stop

域配置

为了能够访问您的openBalena实例,必须配置一些CNAME地址并指向您的服务器。

Api.mydomain.com

Registry.mydomain.com

Vpn.mydomain.com

S3.mydomain.com

openBalena

安装CLI客户端

在openBalena服务器启动并运行后,我们需要在本地计算机上安装balena CLI。这是一个命令行界面,将用于管理所有设备,并成为您和服务器之间的链接。

请按照此处提供的说明安装balena CLI

通过balenaUrl在CLI配置文件中设置服务器域名,并将balena CLI指向您的服务器,例如:

Linux或macOS:〜/ .balenarc.yml

Windows:%UserProfile%\ _ balenarc.yml

BalenaUrl:“ mydomain.com”

openBalena

安装自签名证书

创建openBalena实例时,它将生成一些自签名证书,我们需要使用这些证书来使本地计算机和设备连接到服务器。

在安装了Balena CLI的计算机(本地计算机)上,ca.crt从服务器下载证书并进行安装。在我们当前的示例中,openBalena实例安装在〜/ open-balena /上,因此证书位于〜/ open-balena / config / certs / root / ca.crt。

在Linux上:

$ sudo cp ca.crt /usr/local/share/ca-certificates/ca.crt

$ sudo update-ca-certificates

$ sudo systemctl重新启动docker

在macOS上:

$ sudo安全性add-trusted-cert -d -r trustRoot -k /Library/Keychains/System.keychain〜/ ca.crt

$ osascript -e'退出应用程序“ Docker”'&& open-一个Docker

openBalena

在Windows上:

$ certutil -addstore -f“ ROOT” ca.crt

openBalena

重要信息:必须重新启动Docker守护程序才能获取新的可信CA证书。如果不重新启动Docker,将无法将映像推送到openBalena注册表。

在所有平台上:

另外,通过设置指向ca.crt本地计算机上文件下载副本的环境变量,指示balena CLI使用新证书:

外壳命令

点击导出NODE_EXTRA_CA_CERTS ='/ path / to / ca.crt'

Windows cmd.exeset NODE_EXTRA_CA_CERTS = C:\ path \ to \ ca.crt

Windows PowerShell $ Env:NODE_EXTRA_CA_CERTS =“ C:\ path \ to \ ca.crt”

openBalena

部署我们的第一个应用程序

此时,我们可以登录服务器并创建我们的第一个应用程序。

1)登录到openBalena

输入balena login,选择Credentials,然后使用先前生成的超级用户信息。

2)创建一个应用程序

现在,我们可以用来创建第一个应用程序。 balena app create myApp从那里,您可以选择要使用的设备,例如Raspberry Pi 3。

3)生成图像文件

在继续之前,请确保已创建我们的应用程序

$ balena应用程序

ID APP NAME DEVICE TYPE在线设备ID

1个myApp raspberrypi3

一旦有了一些应用程序,我们就可以开始在其中配置设备。为此,我们需要从https://balena.io/os下载适合我们设备类型的balenaOS映像。部署Raspberry Pi 3设备时,我们可以转到https://balena.io/os/#downloads-raspberrypi并为其下载图像。

下载完操作系统映像后,请在本地将其解压缩,然后使用balena CLI配置我们的openBalena实例。可以按照以下步骤完成:

Balena OS配置〜/ Downloads / balenaos-raspberrypi3-2.22.1 + rev1-dev-v7.25.3.img --app myApp

一旦将映像配置为使用网络凭据和密钥连接到我们的openBalena实例,我们就可以使用https://etcher.io将其刷新到SD卡,然后启动设备。

大约30秒后,我们应该能够在应用程序中看到我们新配置的设备。为此,我们运行balena设备:

$ balena设备

ID UUID设备名称设备类型应用程序名称S

TATUS是在线主管版本OS版本

4 59d7700冬季树raspberrypi3 myApp闲置true 7.25.3 balenaOS 2.22.1 + rev1

openBalena

如果我们想更仔细地检查设备,可以使用设备UUID,如下所示:

$ balena设备59d7700

==冬季树

编号:4

设备类型:raspberrypi3

状态:在线

是否在线:是

IP地址:192.168.43.247

应用名称:myApp

UUID:59d7700755ec5de06783eda8034c9d3d

主管版本:7.25.3

操作系统版本:balenaOS 2.22.1 + rev1

openBalena

好的,我们已经设置了一些设备并连接到我们的openBalena实例,现在是时候部署一些代码了。在openBalena中,没有云构建器服务,因此所有容器的构建都需要使用CLI在本地完成。

对于此示例,我将使用来自Raspberry Pi 3和Sense Hat的https://github.com/balena-io-playground/sense-snake来部署示例项目。

让我们将此存储库克隆到我们的计算机,然后将其推送到我们刚刚配置的设备上:

openBalena

Git克隆https://github.com/balena-io-playground/sense-snake.git

CD感蛇

Balena部署myApp --logs --source。 -模拟

请注意,在上面的部署代码中,我们在末尾添加了--emulated。这是因为我们正在为Raspberry Pi构建容器,该容器具有ARM架构,并且本地计算机使用x86_64架构。

openBalena

看到独角兽后,我们可以在将代码推送到设备的同时喝咖啡。几分钟后,您会注意到该代码将开始在我们的Raspberry Pi上运行。

软件特色:

任何可以运行balenaOS的设备都可以与openBalena一起使用。

BalenaOS支持许多不同的设备类型和多种体系结构。

您可以查看受支持设备的完整列表。对于Beta版本,openBalena仅支持Raspberry Pi系列,Intel NUC,NVIDIA Jetson TX2和balenaFin。

尽管openBalena和balenaCloud共享相同的核心技术,但是仍然存在一些关键差异。

首先,openBalena是自托管的,而balenaCloud由balena托管

因此可以处理所有后端服务的安全性,维护,扩展和可靠性。

OpenBalena还是单个用户,而balenaCloud支持多个用户和组织。

OpenBalena还缺少定义balenaCloud的某些商业功能,例如基于Web的仪表板和带有二进制容器的增量更新。

我们在balenaOS中添加了一项功能,以允许设备加入和离开服务器。

实际上,这意味着balena客户将始终可以选择设置开源服务器,而不是使用云服务

如果开源用户需要现成的,受商业支持的平台,则他们可以随时迁移到balenaCloud。

在Balena,我们希望我们的关系由我们提供的值来定义,而不是由无法移动导致的锁定来定义。

我们认为openBalena是消除这些出口(和入口!)障碍的重要一步。

精品推荐
猜你喜欢
用户评论