Nutanix Xi IoT 应用程序容器(面向开发者)





0/5 (0投票)
在本文中,我将讨论 Xi IoT 支持的另一个选项:容器化应用程序,它使您能够为边缘计算解决方案配置和部署自定义服务和运行时环境。
使用 Nutanix Xi IoT 平台进行边缘计算使开发者摆脱了部署边缘设备和数据流的复杂性,而是允许开发者通过易于使用的应用程序编程接口 (API)、可重用数据管道和可插拔的机器学习架构,专注于创建有用的数据分析和转换逻辑。
文章《Nutanix 数据管道和面向开发者的 AI》解释了 Xi IoT 平台如何使用数据管道的概念将边缘数据源路由到可插拔的转换函数,进而将转换后的数据路由到云存储或附加管道。
在本文中,我将讨论 Xi IoT 支持的另一个选项:容器化应用程序,它使您能够为边缘计算解决方案配置和部署自定义服务和运行时环境。
Xi IoT 应用程序模型
Nutanix Xi IoT 是一个基于云的端到端平台,可让您轻松创建解决方案,用于从远程传感器和边缘设备收集数据,并对这些数据进行实时处理。物联网解决方案始于边缘硬件,连接到传感器,生成数据。数据流(根据需要通过协议网关路由)被配置为数据源,可以作为输入连接到应用程序或数据管道进行分析和转换。转换后的数据可以路由到存储,或作为输入数据源连接到其他应用程序或数据管道。
Xi IoT 提供了一些标准的内置数据源协议,您可以简单地选择和配置它们来处理常见的传入传感器数据格式。数据管道接口还提供了使用标准化运行时环境以 Go、JavaScript 或 Python 编码转换函数的能力。这使得创建功能强大、可插拔的处理、转换和 AI 功能库变得非常容易,您可以快速将其连接到数据源并几乎立即运行。
但是,如果您需要开箱即用之外的运行时环境、应用程序或服务,Xi IoT 提供了构建和部署您自己的自定义容器化应用程序的选项。
应用程序容器基础知识
Xi IoT 边缘环境支持运行自定义应用程序和服务,提供数据处理和 AI 推理。在 Xi IoT 上,应用程序只是在托管的 Kubernetes 环境中运行的 Docker 容器和相关服务。作为 Xi IoT 解决方案一部分部署的容器主要用于需要数据管道功能不可用的依赖项或环境的应用程序。
如果您还不熟悉应用程序容器的概念,我将为您快速介绍一下。
Docker 是一个流行的开源软件平台,用于创建轻量级、容器化的应用程序,这些应用程序可以在共享执行环境中独立部署和运行。Docker 容器是软件包,包含运行应用程序所需的所有软件依赖项和设置。
Kubernetes 是一个开源平台,用于管理(或“编排”)容器及其相关的网络和管理服务。
您可以使用 Docker Compose 和 Kompose 等工具来创建、转换和管理用于在 Docker 和 Kubernetes 环境中定义和运行多容器应用程序的 YAML 配置文件。
如果您已经熟悉使用 Docker、Kompose 和 Kubernetes,您会发现使用 Xi IoT 部署到边缘就像部署到数据中心一样简单。
将容器与 Xi IoT 结合使用
为简单起见,Xi IoT 支持从 Docker Hub、Amazon AWS Elastic Container Registry (ECR) 和 Google Container Registry 等知名公共云注册表部署容器。
如果您想使用公共可用的容器,只需在应用程序的 YAML 配置中指定映像即可。如果容器存储在私有注册表中,您还可以选择将凭据安全地存储为容器注册表配置文件的一部分,将它们分配给任何所需的 Xi IoT 项目,并立即在您的项目边缘设备组中使用它们。
除了特权模式(当然),几乎所有 Kubernetes 规范都支持在基于 Xi IoT 的边缘上运行,包括 PersistentVolumeClaims,甚至 NVIDIA GPU 用于边缘的加速推理。
在 Xi IoT 中管理应用程序
要在 Xi IoT 中创建和管理容器化应用程序,您可以使用 Web 界面或 REST API。
在 Web 界面中,从导航菜单中选择“应用和数据”>“应用程序”。您将看到可用应用程序列表。
单击现有应用程序名称以查看该应用程序的详细信息、编辑应用程序属性或启动应用程序。
要设置新应用程序,请转到“应用程序”页面并单击“创建”按钮。系统会要求您提供有关应用程序及其项目的一些基本描述信息。项目决定了哪些边缘可用于配置,然后您可以选择一个边缘。
单击“新建”继续。下一个屏幕是您输入、粘贴或上传 Kubernetes 格式的 YAML 的地方。
单击“创建”,您的应用程序就准备好了。
您还可以通过 Xi IoT REST API 的 /applications 端点以编程方式创建和管理应用程序。该 API 允许您创建、更新和删除应用程序,列出可用应用程序或获取特定应用程序的详细信息。
应用程序的 API 管理只需要您知道应用程序可用的边缘的 ID,这些 ID 可通过 API 的 /edges 端点获取。要创建或更新应用程序,您可以将编排 YAML 作为请求的一部分传递。
文章《Xi IoT API 入门》解释了如何创建 API 用户并授权访问 API。有关使用 /applications 端点的详细信息,请参阅 API 文档的“创建应用程序”部分。
应用程序警报和日志
警报摘要显示在给定应用程序的仪表板上。这些将涵盖边缘连接错误、不可用的节点,甚至您在开发或测试期间未捕获的偶发应用程序错误。要查看这些警报,请单击“应用和数据”>“应用程序”,然后单击要查看的应用程序。
要查看警报详细信息,请单击“查看所有”链接或应用程序的“警报”选项卡。
应用程序日志数据可以随时从“日志捆绑包”页面生成。除了平台支持的其他日志外,捆绑包还包括您的代码生成的任何应用程序日志,以及典型的 Docker 和 Kubernetes 日志输出。
要生成日志数据,请转到“应用和数据”>“应用程序”,然后单击要查看的应用程序,然后单击“日志捆绑包”选项卡。单击“运行日志收集器”按钮以收集日志数据。然后选择运行应用程序的边缘实例,并单击“收集日志”按钮,之后 Xi IoT 会收集日志数据,创建一个日志捆绑包,并在连接可用时自动将其上传到云。如果您曾经部署和调试部署到边缘的应用程序,而连接和控制台访问可能断断续续,您就会明白此功能是多么的救命稻草!
最后,将选定的日志文件下载到本地机器进行分析。只需从列表中选择一个日志捆绑包,然后单击相应的下载链接。要查看日志,请解压文件并在文本编辑器或日志分析器中打开它以读取内容。
您还可以通过 Xi IoT API 访问应用程序状态和日志。您可以通过 /applicationstatuses 端点查询所有或单个应用程序的应用程序状态。有关详细信息,请参阅 API 文档中的“获取应用程序状态”。
日志 API 的各种端点使您能够列出、上传、下载或删除日志。