1.6. エッジデバイスでのアプリケーションの管理
テクノロジープレビュー: デバイス仕様内のアプリケーションのリストを更新することで、デバイス上のアプリケーションをデプロイ、更新、または削除できます。Red Hat Edge Manager エージェントが確認して仕様の変更を検出すると、エージェントは、Open Container Initiative (OCI) 互換レジストリーから新規または更新されたアプリケーションパッケージとイメージをダウンロードします。その後、エージェントはパッケージを適切なアプリケーションランタイムにデプロイするか、そのランタイムからパッケージを削除します。
Red Hat Edge Manager は、podman-compose ツールをアプリケーションのランタイムと形式としてサポートします。
1.6.1. 前提条件 リンクのコピーリンクがクリップボードにコピーされました!
- Red Hat Edge Manager CLI をインストールした。
- Red Hat Edge Manager サービスにログインしている。
-
デバイスが、
podman-composeツールがインストールされているオペレーティングシステムイメージを実行している。Red Hat Edge Manager で使用する bootc オペレーティングシステムイメージのビルド を参照してください。
1.6.2. アプリケーションパッケージイメージのビルド リンクのコピーリンクがクリップボードにコピーされました!
Red Hat Edge Manager は、Open Container Initiative (OCI) と互換性のあるレジストリーからアプリケーションパッケージをダウンロードできます。podman-compose 形式でアプリケーションパッケージを含む OCI コンテナーイメージをビルドし、そのイメージを OCI レジストリーにプッシュできます。
以下の手順を実行します。
Podman Compose の仕様に従う
podman-compose.yamlというファイルで、アプリケーションの機能を定義します。-
以下の内容で
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 レジストリーにプッシュします。
次のコマンドを実行して、書き込み権限を持つイメージリポジトリーを定義します。
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 注記: デバイス仕様の
applicationsセクションでアプリケーションごとに、対応するデバイスステータス情報を確認できます。デバイスのステータス情報を確認して、デバイスへのアプリケーションデプロイメントのステータスを確認します。以下のコマンドを実行します。
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