跳转到内容
返回官网

入门引导

Jelina 平台包含设备、服务器和客户端软件,所有这些都旨在让您的代码安全地部署到一组设备。

大致的思路很容易掌握:一旦您的设备安装了我们的 操作系统(JelinaOS),您的所有设备及其应用都可以通过 JelinaCloud 仪表板进行管理、监控和更新。JelinaCloud 使用一个独立的块存储您的应用配置并交付给您的舰队,方便您进行应用部署。

如果您渴望了解更多有关 Jelina 内部运作的信息,那么您很幸运!本指南涵盖了典型 Jelina 部署中涉及的组件和工作流程,并提供了足够的详细信息来回答最常见的问题。

如果您准备好深入挖掘,为什么不 开始 自己的项目呢?

image

Jelina 生态系统中的设备运行 JelinaOS ,这是一个基于标准发行版 Debian 或 Ubuntu 的准系统主机操作系统,它与容器引擎 Docker 打包在一起。主机操作系统负责在您的设备上启动 Jelinvisor(设备主管)、您的容器化服务以及程序服务。Jelina 的每一个基本操作系统,都可以运行任何与您的设备架构兼容的 Docker 镜像 以及 Linux ELF 程序。基本操作系统与主机操作系统共享一个内核,但在其他方面独立工作。你可以 配置您的容器服务 以特权身份运行,直接访问硬件,甚至将模块注入内核。Jelina 设备管理器在自己的容器中运行,即使您的应用程序崩溃,它也允许设备继续运行。

Jelina 的目标是 100%可更新,JelinaOS 的系统以及内核更新是独立完成的,并且他们都有各自独立的 AB 分区,如果设备在运行时处于 A 分区,当需要更新时,Jelina 会将目标版本更新至 B 分区,更新成功之后切换到 B 分区,完成更新。若更新失败或切换分区后发生了未知的错误,则会保持或回退到 A 分区。Jelina 会始终保持至少一个分区可用,以确保用户的应用以及数据的安全。

所有运行 JelinaOS 的设备,无论是开发设备还是生产设备,都能够进行系统以及内核更新,您可以通过 JelinaCloud 仪表板 来控制设备的更新。

如何将设备添加到自己的舰队?

首先您需要下载 JelinaOS 镜像,在每次下载过程中我们都会将一个唯一的设备配置烧写到镜像中(如果您已有 OS 镜像,也可以仅下载配置文件,再通过我们提供的工具jelina_flash_stream(未开放)将配置烧写到镜像中),配置文件包含了舰队基础配置,与舰队绑定的唯一注册密钥以及注册地址。

当您将 JelinaOS 镜像烧写入设备之后,请确保设备网络通畅,在设备启动时,设备管理器 Jelinvisor 将会被启动并自动完成设备注册,您无需执行任何操作。Jelinvisor 会根据设备配置将设备注册到目标舰队,并且生成一个唯一 API Key 作为日后与云端交互的密钥。注册成功后,云端将保存 API Key 并删除注册密钥,云端此时会记住注册设备的信息,您即可在仪表盘查看您的设备。

设备注册到 舰队 之后,如果您的舰队之中存在可用的 Release ,设备将会自动安装舰队最新版本的 Release(如果您固定了舰队的 Release,设备将安装此 Release)。

Release 是一个包含多个容器应用和原生(Program)应用的集合,Release 的配置基于 docker-compose2.0 ,我们在其中增加了一些配置,使您能够在里面配置非容器应用。我们同时面对开发者以及非开发者,您可以手动填写 compose 配置,或者通过填写前端服务列表信息生成 compose 配置,配置完成之后,您需要上传容器镜像以及程序应用,发布 Release 之后,即可将此 Release 部署到舰队中的所有设备。

您可能担心原生应用因缺乏运行环境而无法正常运行,不用担心,我们已经考虑到了这一点,您可以通过上传 Increment(增量包)的形式来配置设备的运行环境。

注意:Increment 是由设备上传至 JelinaCloud 的,您需要先在一台设备上配置好运行环境,然后在仪表盘选择此设备上传 Increment,该设备将会打包自己的运行环境,并上传至设备所在的舰队。

您必须为 Release 绑定 Increment,Increment 才会生效,在设备安装此 Release 之前,设备将先安装与其绑定的 Increment,以确保其中的应用拥有正确的运行环境。通过增量包,理论上 JelinaOS 可以运行任何类型的应用,这取决于 Increment 中的内容。

设备每隔一段时间(这取决于您的舰队配置)就会向云端获取一次设备目标状态,目标状态中包含了设备应当运行的 Release 版本、JelinaOS 版本、Kernel 版本、Jelinvisor 版本、应当运行的 Increment 以及设备配置、服务变量。

每隔 30s 设备将会上报一次自身的状态,包括设备信息、设备中运行的服务信息等等。同时设备还会通过长连接,将设备日志上传至 JelinaCloud,以便您观察系统以及应用的运行过程。

您可以在设备仪表盘中看到设备的详细信息,包括设备运行的服务以及即将发生的更新、设备日志等信息,您也可以在此面板控制设备以及设备上应用的生命周期。

image-20220728164831644

为了您能够及时获取设备以及设备上应用的运行异常状态,在设备离线、设备服务异常、设备异常、设备资源使用异常时,我们会自动向设备所在舰队的所有成员发送通知,其中您可以自定义设备资源使用异常的警告阈值。注意,若您的设备在 3 小时内发生了相同的异常,JelinaCloud 只会通知一次。

image-20220728170901640

您可以通过 Jelina 统一配置您的测试/开发环境,并通过 Jelina 快速部署,测试应用的功能。您可以通过设备日志,快速分析应用在真实设备上的运行状况,加速项目的开发落地。