第6章 オフラインで使用するためのアプリケーションの埋め込み
マイクロサービスベースのワークロードとアプリケーションを Red Hat Enterprise Linux for Edge (RHEL for Edge) イメージに埋め込むことができます。埋め込みは、エアギャップ、切断された、またはオフライン環境で MicroShift ノードを実行できることを意味します。
6.1. オフラインで使用するためのワークロードコンテナーイメージの埋め込み リンクのコピーリンクがクリップボードにコピーされました!
ネットワーク接続がないエッジのデバイスにコンテナーイメージを埋め込むには、新しいコンテナーを作成し、ISO をマウントして、コンテンツをファイルシステムにコピーする必要があります。
前提条件
- ホストへの root アクセス権限がある。
- アプリケーション RPM がブループリントに追加されている。
-
OpenShift CLI (
oc) がインストールされている。
手順
次のコマンドを実行して、マニフェストをレンダリングし、すべてのコンテナーイメージ参照を抽出し、アプリケーションイメージをブループリントコンテナーソースに変換します。
oc kustomize ~/manifests | grep "image:" | grep -oE '[^ ]+$' | while read line; do echo -e "[[containers]]\nsource = \"${line}\"\n"; done >><my_blueprint>.toml$ oc kustomize ~/manifests | grep "image:" | grep -oE '[^ ]+$' | while read line; do echo -e "[[containers]]\nsource = \"${line}\"\n"; done >><my_blueprint>.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 次のコマンドを実行して、更新されたブループリントを Image Builder にプッシュします。
sudo composer-cli blueprints push <my_blueprint>.toml
$ sudo composer-cli blueprints push <my_blueprint>.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow ワークロードコンテナーがプライベートリポジトリーにある場合は、Image Builder に必要なプルシークレットを提供する必要があります。
-
/etc/osbuild-worker/osbuild-worker.toml設定ファイルの[containers]セクションでauth_file_pathを設定して、プルシークレットを指すようにします。 必要に応じて以下のように、プルシークレットのディレクトリーおよびファイルを作成します。
ディレクトリーとファイルの例
[containers] auth_file_path = "/<path>/pull-secret.json"
[containers] auth_file_path = "/<path>/pull-secret.json"1 Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- イメージのコピーおよび取得には、以前に設定したカスタムの場所を使用します。
-
以下のコマンドを実行し、コンテナーイメージをビルドします。
sudo composer-cli compose start-ostree <my_blueprint> edge-commit
$ sudo composer-cli compose start-ostree <my_blueprint> edge-commitCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
ビルドの完了待ち、イメージのエクスポート、
rpm-ostreeリポジトリーへの統合、ブータブル ISO の作成など、任意のrpm-ostreeイメージフローに進みます。