此内容没有您所选择的语言版本。
Chapter 6. Embedding applications for offline use
You can embed microservices-based workloads and applications in a Red Hat Enterprise Linux for Edge (RHEL for Edge) image. Embedding means you can run a MicroShift node in air-gapped, disconnected, or offline environments.
6.1. Embedding workload container images for offline use 复制链接链接已复制到粘贴板!
To embed container images in devices at the edge that do not have any network connection, you must create a new container, mount the ISO, and then copy the contents into the file system.
Prerequisites
- You have root access to the host.
- Application RPMs have been added to a blueprint.
-
You installed the OpenShift CLI (
oc).
Procedure
Render the manifests, extract all of the container image references, and translate the application image to blueprint container sources by running the following command:
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 Push the updated blueprint to image builder by running the following command:
sudo composer-cli blueprints push <my_blueprint>.toml
$ sudo composer-cli blueprints push <my_blueprint>.tomlCopy to Clipboard Copied! Toggle word wrap Toggle overflow If your workload containers are located in a private repository, you must provide image builder with the necessary pull secrets:
-
Set the
auth_file_pathin the[containers]section in the/etc/osbuild-worker/osbuild-worker.tomlconfiguration file to point to the pull secret. If needed, create a directory and file for the pull secret, for example:
Example directory and file
[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
- Use the custom location previously set for copying and retrieving images.
-
Set the
Build the container image by running the following command:
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 -
Proceed with your preferred
rpm-ostreeimage flow, such as waiting for the build to complete, exporting the image and integrating it into yourrpm-ostreerepository or creating a bootable ISO.