This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.11. 配置 fuse-overlayfs
默认情况下,通用基础镜像(UDI)包含 Podman 和 Buildah,可用于在工作区中构建和推送容器镜像。但是,UDI 中的 Podman 和 Buildah 配置为使用不提供写时复制支持的 vfs 存储驱动程序。要更有效地镜像管理,请使用 fuse-overlayfs 存储驱动程序,该驱动程序支持无根环境中的 copy-on-write。
3.11.1. 为 OpenShift 启用 /dev/fuse 的容器访问权限 复制链接链接已复制到粘贴板!
要使用 fuse-overlayfs,您必须首先让 /dev/fuse 可供工作区容器访问。
OpenShift 版本 4.15 及更新的版本不需要这个过程,因为 /dev/fuse 设备默认可用。请参阅 发行注记。
在 OpenShift 集群中创建 MachineConfig 资源是一个潜在的危险任务,因为您要对集群进行高级的系统级更改。
查看 MachineConfig 文档以了解 更多详细信息和可能的风险。
流程
根据 OpenShift 集群的类型设置环境变量:单一节点集群,或具有独立 control plane 和 worker 节点的多节点集群。
对于单一节点集群,设置:
NODE_ROLE=master
$ NODE_ROLE=masterCopy to Clipboard Copied! Toggle word wrap Toggle overflow 对于多节点集群,设置:
NODE_ROLE=worker
$ NODE_ROLE=workerCopy to Clipboard Copied! Toggle word wrap Toggle overflow
为 OpenShift Butane 配置版本设置环境变量。此变量是 OpenShift 集群的主版本和次要版本。例如:
4.12.0、4.13.0或4.14.0。VERSION=4.12.0
$ VERSION=4.12.0Copy to Clipboard Copied! Toggle word wrap Toggle overflow 创建一个
MachineConfig资源,在NODE_ROLE节点上创建一个名为99-podman-fuse的置入 CRI-O 配置文件。此配置文件可以访问某些 pod 的/dev/fuse设备。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 应用
MachineConfig资源后,在应用更改时,会临时禁用具有worker角色的每个节点调度。查看节点的状态。oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 输出示例:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 当所有具有
worker角色的节点都处于Ready状态后,/dev/fuse将提供给具有以下注解的任何 pod。io.openshift.podman-fuse: '' io.kubernetes.cri-o.Devices: /dev/fuse
io.openshift.podman-fuse: '' io.kubernetes.cri-o.Devices: /dev/fuseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
验证步骤
获取具有
worker角色的节点名称:oc get nodes
$ oc get nodesCopy to Clipboard Copied! Toggle word wrap Toggle overflow 打开到 worker 节点的
oc debug会话。oc debug node/<nodename>
$ oc debug node/<nodename>Copy to Clipboard Copied! Toggle word wrap Toggle overflow 验证名为
99-podman-fuse的新 CRI-O 配置文件是否存在。stat /host/etc/crio/crio.conf.d/99-podman-fuse
sh-4.4# stat /host/etc/crio/crio.conf.d/99-podman-fuseCopy to Clipboard Copied! Toggle word wrap Toggle overflow
3.11.2. 在工作区中使用 fuse-overlayfs 用于 Podman 和 Buildah 复制链接链接已复制到粘贴板!
用户可以遵循 https://access.redhat.com/documentation/zh-cn/red_hat_openshift_dev_spaces/3.12/html-single/user_guide/index#end-user-guide:using-the-fuse-overlay-storage-driver 来更新现有工作区,以使用 Podman 和 Buildah 的 fuse-overlayfs 存储驱动程序。