Concourse Worker启动失败:挂载cpuset子系统时操作不被允许
解决Concourse Worker节点启动失败:cpuset挂载权限问题
针对你遇到的bulk starter: mounting subsystem 'cpuset' in '/sys/fs/cgroup/cpuset': operation not permitted报错,以下是具体解决步骤:
1. 检查并修复宿主机cgroup配置
- 先确认宿主机的cpuset cgroup目录状态:
ls -ld /sys/fs/cgroup/cpuset - 如果目录不存在,手动挂载cpuset子系统:
sudo mount -t cgroup -o cpuset cpuset /sys/fs/cgroup/cpuset - 为避免重启后失效,在
/etc/fstab中添加持久化挂载配置:cpuset /sys/fs/cgroup/cpuset cgroup defaults,cpuset 0 0
2. 调整Docker Compose中Worker容器的权限配置
打开仓库中的docker-compose.yml,找到worker服务的配置块,做以下调整:
- 方式一:添加特权模式(快速解决,适合测试环境):
services: worker: # 保留原有其他配置 privileged: true - 方式二:添加最小必要权限(推荐生产环境):
services: worker: # 保留原有其他配置 cap_add: - SYS_ADMIN volumes: - /sys/fs/cgroup:/sys/fs/cgroup:ro
3. 重启Concourse服务
docker compose down docker compose up -d
额外注意事项
- 若使用Debian 11及以上版本,默认启用cgroup v2,部分Concourse版本对其支持有限。可切换回cgroup v1:
- 编辑
/etc/default/grub,修改GRUB_CMDLINE_LINUX字段为:GRUB_CMDLINE_LINUX="systemd.unified_cgroup_hierarchy=0" - 更新grub并重启机器:
sudo update-grub sudo reboot
- 编辑
内容的提问来源于stack exchange,提问作者Fawad qureshi
相关产品推荐
相关产品推荐

