1.5.2. ConfigMap で fuse-overlayfs を有効にする
~/.config/containers/storage.conf ファイルで、Podman および Buildah のストレージドライバーを定義できます。UDI コンテナー内の /home/user/.config/containers/storage.conf ファイルのデフォルトの内容は次のとおりです。
storage.conf
[storage]
driver = "vfs"
fuse-overlayfs を使用するには、storage.conf を次のように設定します。
storage.conf
[storage]
driver = "overlay"
[storage.options.overlay]
mount_program="/usr/bin/fuse-overlayfs"
- 1
fuse-overlayfsバイナリーへの絶対パス。/usr/bin/fuse-overlayfsパスは UDI のデフォルトです。
ワークスペースを起動した後、これを手動で実行できます。もう 1 つのオプションは、storage.conf を変更した UDI に基づいて新しいイメージを構築し、その新しいイメージをワークスペースに使用することです。
それ以外の場合は、更新されたファイルをマウントする ConfigMap を作成することで、プロジェクト内のすべてのワークスペースの /home/user/.config/containers/storage.conf を更新できます。「ConfigMap のマウント」 を参照してください。
前提条件
-
OpenShift バージョン 4.15 より前のバージョンの場合、管理者が https://access.redhat.com/documentation/en-us/red_hat_openshift_dev_spaces/3.25/html-single/administration_guide/index#administration-guide:configuring-fuse に従って
/dev/fuseへのアクセスを有効にしている。 - 必要なアノテーションを含むワークスペースは 「/dev/fuse へのアクセス」 のように設定されます。
このガイド に従ってマウントされた ConfigMap は、ConfigMap のデータをすべてのワークスペースにマウントするため、この手順に従うと、すべてのワークスペースのストレージドライバーが fuse-overlayfs に設定されます。「/dev/fuse へのアクセス」 に従って、ワークスペースに fuse-overlayfs を使用するために必要なアノテーションが含まれていることを確認してください。
手順
プロジェクトに
/home/user/.config/containers/storage.confファイルをマウントする ConfigMap を適用します。kind: ConfigMap apiVersion: v1 metadata: name: fuse-overlay labels: controller.devfile.io/mount-to-devworkspace: 'true' controller.devfile.io/watch-configmap: 'true' annotations: controller.devfile.io/mount-as: subpath controller.devfile.io/mount-path: /home/user/.config/containers data: storage.conf: | [storage] driver = "overlay" [storage.options.overlay] mount_program="/usr/bin/fuse-overlayfs"警告この ConfigMap を作成すると、実行中のワークスペースがすべて再起動されます。
検証手順
必要なアノテーションを含むワークスペースを起動し、ストレージドライバーが
overlayであることを確認します。$ podman info | grep overlay出力例:
graphDriverName: overlay overlay.mount_program: Executable: /usr/bin/fuse-overlayfs Package: fuse-overlayfs-1.12-1.module+el8.9.0+20326+387084d0.x86_64 fuse-overlayfs: version 1.12 Backing Filesystem: overlayfs注記既存のワークスペースで、次のエラーが発生する可能性があります。
ERRO[0000] User-selected graph driver "overlay" overwritten by graph driver "vfs" from database - delete libpod local files ("/home/user/.local/share/containers/storage") to resolve. May prevent use of images created by other toolsこの場合、エラーメッセージに記載されているように libpod ローカルファイルを削除します。