This documentation is for a release that is no longer maintained
See documentation for the latest supported version.3.12. 配置 fuse-overlayfs
				默认情况下,通用基础镜像(UDI)包含 Podman 和 Buildah,您可以在工作区中构建和推送容器镜像。但是,UDI 中的 Podman 和 Buildah 被配置为使用 vfs 存储驱动程序,该驱动程序不提供写时复制支持。要更有效地镜像管理,请使用 fuse-overlayfs 存储驱动程序,该驱动程序在无根环境中支持 copy-on-write。
			
				要为早于 4.15 的 OpenShift 版本启用 fuse-overlayfs,管理员必须首先通过 第 3.12.1 节 “为早于 4.15 的 OpenShift 版本启用访问” 在集群中启用 /dev/fuse 访问。
			
				OpenShift 版本 4.15 及更高版本不需要这样做,因为 /dev/fuse 设备默认可用。请参阅 发行注记。
			
				启用 /dev/fuse 访问后,可通过两种方式启用 fuse-overlayfs:
			
3.12.1. 为早于 4.15 的 OpenShift 版本启用访问
					要使用 fuse-overlayfs,您必须首先使 /dev/fuse 可以被工作区容器访问。
				
						OpenShift 版本 4.15 及更新的版本不需要这个过程,因为 /dev/fuse 设备默认可用。请参阅 发行注记。
					
						在 OpenShift 集群中创建 MachineConfig 资源是一个潜在的危险任务,因为您要对集群进行高级系统级更改。
					
查看 MachineConfig 文档 以了解更多详情和可能的风险。
流程
- 根据 OpenShift 集群的类型设置环境变量:单一节点集群,或使用单独的 control plane 和 worker 节点的多节点集群。 - 对于单一节点集群,请设置: - NODE_ROLE=master - $ NODE_ROLE=master- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 对于多节点集群,请设置: - NODE_ROLE=worker - $ NODE_ROLE=worker- Copy 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.0- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 创建一个 - MachineConfig资源,在- NODE_ROLE节点上创建一个名为- 99-podman-fuse的 drop-in CRI-O 配置文件。此配置文件可让您访问某些 pod 的- /dev/fuse设备。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 应用 - MachineConfig资源后,在应用更改时,会临时禁用具有- worker角色的每个节点调度。查看节点的状态。- oc get nodes - $ oc get nodes- Copy 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/fuse- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
验证步骤
- 获取具有 - worker角色的节点名称:- oc get nodes - $ oc get nodes- Copy 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-fuse- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
3.12.1.1. 在工作区中为 Podman 和 Buildah 使用 fuse-overlayfs
用户可遵循 https://access.redhat.com/documentation/zh-cn/red_hat_openshift_dev_spaces/3.15/html-single/user_guide/index#end-user-guide:using-the-fuse-overlay-storage-driver 来更新现有工作区,为 Podman 和 Buildah 使用 fuse-overlayfs 存储驱动程序。
3.12.2. 为所有工作区启用 fuse-overlayfs
先决条件
- 第 3.12.1 节 “为早于 4.15 的 OpenShift 版本启用访问” 部分已完成。OpenShift 版本 4.15 及更新的版本不需要这样做。
- 
							对目标 OpenShift 集群具有管理权限的活动 oc会话。请参阅 CLI 入门。
流程
- 创建一个 ConfigMap,为所有用户工作区挂载 - storage.conf文件。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 在 CheCluster 自定义资源的 - spec.devEnvironments.workspacesPodAnnotations字段中设置所需的注解。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 注意- 对于 4.15 之前的 OpenShift 版本,还需要 - io.openshift.podman-fuse: ""注解。
验证步骤
- 启动工作区并验证存储驱动程序是否 - 覆盖。- podman info | grep overlay - $ podman info | grep overlay- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 输出示例: - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow