第3章 オフラインで使用するためのアプリケーションの埋め込み
マイクロサービスベースのワークロードとアプリケーションを Red Hat Enterprise Linux for Edge (RHEL for Edge) イメージに埋め込むことができます。埋め込みは、エアギャップ、切断された、またはオフライン環境で MicroShift クラスターを実行できることを意味します。
3.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
次のコマンドを実行して、更新されたブループリントを Image Builder にプッシュします。
$ sudo composer-cli blueprints push <my_blueprint>.toml
ワークロードコンテナーがプライベートリポジトリーにある場合は、Image Builder に必要なプルシークレットを提供する必要があります。
-
/etc/osbuild-worker/osbuild-worker.toml
ファイル内のosbuilder worker
設定の[containers]
セクションにあるauth_file_path
を、プルシークレットを指すように設定します。 必要に応じて以下のように、プルシークレットのディレクトリーおよびファイルを作成します。
ディレクトリーとファイルの例
[containers] auth_file_path = "/<path>/pull-secret.json" 1
- 1
- イメージのコピーおよび取得には、以前に設定したカスタムの場所を使用します。
-
以下のコマンドを実行し、コンテナーイメージをビルドします。
$ sudo composer-cli compose start-ostree <my_blueprint> edge-commit
-
ビルドの完了待ち、イメージのエクスポート、
rpm-ostree
リポジトリーへの統合、ブータブル ISO の作成など、任意のrpm-ostree
イメージフローに進みます。