Ubuntu Overlay配置需要哪些依赖
小樊
34
2025-11-14 12:00:03
Ubuntu Overlay 配置依赖清单
一、先明确场景
- OverlayFS 文件系统:用于目录层叠(只读层 + 可写层),常见于根文件系统只读、Live 系统、容器镜像分层等。
- Docker/Kubernetes Overlay 网络:用于跨主机容器通信,基于 VXLAN 封装实现虚拟二层网络。
二、OverlayFS 文件系统依赖
- 内核与特性
- 内核版本建议 ≥ 3.18(OverlayFS 在该版本合入主流内核);检查内核是否启用:grep CONFIG_OVERLAY_FS /boot/config-$(uname -r)。同时容器运行通常依赖内核的 cgroups 与 namespaces 支持。缺少时会导致挂载或容器功能异常。
- 用户态工具
- 基础工具:util-linux(提供 mount/umount 等)。
- 可选增强:fuse-overlayfs(FUSE 用户态实现,便于无特权/特殊场景);overlayroot(用于根分区只读覆盖,提供 /etc/overlayroot.conf 配置)。
- 典型安装命令
- sudo apt update && sudo apt install -y overlayroot fuse-overlayfs util-linux
- 配置要点
- 手动挂载示例:mount -t overlay overlay -o lowerdir=/lower,upperdir=/upper,workdir=/work /merged
- 持久化:写入 /etc/fstab 或使用 overlayroot 配置开机启用。
三、Docker Overlay 网络依赖
- 运行时与组件
- 安装 Docker(包含 docker-ce、docker-ce-cli、containerd.io);启动服务:sudo systemctl start docker && sudo systemctl enable docker。
- 集群与服务发现(按模式)
- Swarm 模式:docker swarm init/join 建立管理/工作节点关系,用于多主机编排与网络控制面。
- 非 Swarm 的键值存储模式(已较少用):需在 /etc/docker/daemon.json 配置 cluster-store/cluster-advertise 指向 Consul 等 KV 服务,并重启 Docker。
- 网络与端口
- 创建网络:docker network create -d overlay my-overlay-network;跨主机需保证节点间互通并开放 UDP 4789(VXLAN),避免防火墙阻断。
- 可选调优
- 在 /etc/docker/daemon.json 设置 “storage-driver”: “overlay2”(提升容器镜像层存储效率);根据底层网络 MTU 调整 overlay 网络 MTU(如 --opt com.docker.network.driver.mtu=1400)。
四、快速自检命令
- 内核与特性:uname -r;grep CONFIG_OVERLAY_FS /boot/config-$(uname -r)
- 工具安装:dpkg -l | grep -E “overlayroot|fuse-overlayfs|util-linux|docker-ce”
- OverlayFS 挂载:mount | grep overlay;ls /merged;df -h /merged
- Docker 网络:docker network ls;docker network inspect my-overlay-network;systemctl status docker