1.6. 在边缘设备上管理应用程序
技术预览: 您可以通过更新设备规格中的应用程序列表,在设备上部署、更新或删除应用程序。当 Red Hat Edge Manager 代理检查并检测规格中的更改时,代理会从开放容器项目(OCI)兼容 registry 中下载任何新的或更新的应用程序软件包和镜像。然后,代理将软件包部署到适当的应用程序运行时,或从该运行时中删除它们。
Red Hat Edge Manager 支持 podman-compose 工具作为应用程序运行时和格式。
1.6.1. 先决条件 复制链接链接已复制到粘贴板!
- 您必须安装 Red Hat Edge Manager CLI。
- 您必须登录到 Red Hat Edge Manager 服务。
-
您的设备必须安装有
podman-compose工具来运行操作系统镜像。请参阅 构建 bootc 操作系统镜像以用于 Red Hat Edge Manager
1.6.2. 构建应用程序软件包镜像 复制链接链接已复制到粘贴板!
Red Hat Edge Manager 可以从兼容开放容器项目(OCI)的 registry 下载应用程序软件包。您可以构建包含 podman-compose 格式的应用程序软件包的 OCI 容器镜像,并将镜像推送到 OCI registry。
完成以下步骤:
在名为
podman-compose.yaml的文件中定义应用程序的功能,它遵循 Podman Compose 规格。-
使用以下内容创建一个名为
Containerfile的文件:
FROM scratch COPY podman-compose.yaml /podman-compose.yaml LABEL appType="compose"
FROM scratch1 COPY podman-compose.yaml /podman-compose.yaml LABEL appType="compose"2 Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
使用以下内容创建一个名为
构建并推送至 OCI registry 的容器镜像。
运行以下命令,定义您具有写入权限的镜像存储库:
OCI_IMAGE_REPO=quai.io/<your_org>/<your_image>
OCI_IMAGE_REPO=quai.io/<your_org>/<your_image>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 运行以下命令来定义镜像标签:
OCI_IMAGE_TAG=v1
OCI_IMAGE_TAG=v1Copy to Clipboard Copied! Toggle word wrap Toggle overflow 构建容器镜像。运行以下命令:
podman build -t ${OCI_IMAGE_REPO}:${OCI_IMAGE_TAG} .podman build -t ${OCI_IMAGE_REPO}:${OCI_IMAGE_TAG} .Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 推送容器镜像。
podman push ${OCI_IMAGE_REPO}:${OCI_IMAGE_TAG} .podman push ${OCI_IMAGE_REPO}:${OCI_IMAGE_TAG} .Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.6.3. 使用 CLI 将应用程序部署到设备 复制链接链接已复制到粘贴板!
使用 CLI 从 OCI 注册表将应用程序软件包部署到设备。
完成以下步骤:
在
Device资源的spec.applications字段中指定要部署的应用程序软件包:Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注: 对于设备规格
的应用程序部分中的每个应用程序,您可以找到对应的设备状态信息。通过检查设备状态信息,验证设备上应用部署的状态。运行以下命令:
flightctl get device/<your_device_id> -o yaml
flightctl get device/<your_device_id> -o yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 请参见以下示例输出:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow