Rancher 2.0 Agent安装时Rancher UI端workerPlane启动报错求助
解决Rancher 2.0 Agent安装时[kubelet]容器挂载传播模式错误
我之前在CentOS 7 + Docker 17.12.1-ce环境部署Rancher 2.0 Agent时,碰到过完全一样的报错,这个问题的核心是Docker的挂载传播模式不满足Rancher Agent的要求导致的。下面是我亲测有效的解决步骤:
问题根源
Rancher Agent在启动kubelet容器时,需要绑定挂载Docker的根目录/var/lib/docker,而Docker默认的挂载传播模式是rprivate,但Rancher要求必须使用rslave或rshared模式,否则就会抛出这个无效挂载配置的错误。
解决步骤
1. 修改Docker守护进程配置
编辑(或创建)Docker的配置文件/etc/docker/daemon.json,添加挂载传播模式的配置:
{ "storage-driver": "overlay2", "storage-opts": [ "overlay2.override_kernel_check=true" ], "live-restore": true, "mount-propagation": "rslave" }
overlay2是Docker推荐的存储驱动,17.12.1-ce版本完全支持,加上overlay2.override_kernel_check=true可以跳过CentOS 7默认内核的版本检查;mount-propagation设置为rslave,满足Rancher的要求。
2. 重启Docker服务生效配置
执行以下命令重启Docker,确保新的配置生效:
systemctl daemon-reload systemctl restart docker
3. 清理残留的失败容器和卷
为了避免之前失败的Agent残留影响重新安装,清理相关容器和卷:
# 删除所有rancher相关容器 docker rm -f $(docker ps -aq --filter "name=rancher*") # 删除所有rancher相关卷 docker volume rm $(docker volume ls -q --filter "name=rancher*")
4. 重新运行Rancher Agent安装命令
回到Rancher UI,复制对应的Agent安装命令,重新执行即可正常启动Worker Plane。
验证配置是否生效
重启Docker后,可以通过以下命令检查挂载传播模式是否正确设置:
docker info | grep "Mount Propagation"
输出应该显示Mount Propagation: rslave,说明配置已生效。
内容的提问来源于stack exchange,提问作者Raghu ram
相关产品推荐
相关产品推荐

