今天给k8s集群添加新的节点,搞了一天,添加的有问题,只有把一些经验收获总结一下,但问题依然没有解决。。。hmm
1.获取指定版本的docker或其他rpm包
[root@sureA ~]# yum list docker --showduplicates Loaded plugins: fastestmirror Repodata is over 2 weeks old. Install yum-cron? Or run: yum makecache fast Determining fastest mirrors Installed Packages docker.x86_64 2:1.12.5-14.el7.centos @extras Available Packages docker.x86_64 2:1.10.3-59.el7.centos extras docker.x86_64 2:1.12.5-14.el7.centos extras docker.x86_64 2:1.12.6-11.el7.centos extras docker.x86_64 2:1.12.6-16.el7.centos extras [root@sureA ~]#
2.被cgroup困扰的节点添加
vi /lib/systemd/system/docker.service
在centos7上,此处是个大坑。docker启动的时候,systemd是无法获取到docker的pid,可能会导致后面的flannel服务无法启动,需要加上--exec-opt native.cgroupdriver=systemd,让systemd能抓取到 docker的pid
而k8s上有要求cgroupdriver=cgroupfs ,而今天遇到的最大的坑就是当为cgroupfs的时候,docker run要报错!!!
[root@docker-node3 softdb]# docker --debug=true run -p 3307:3307 -e MYSQL_ROOT_PASSWORD=123456 -d mysql 197e38036b80b51b2c334035921e0515a164c14e038dd656cb47822fa7210b1e /usr/bin/docker-current: Error response from daemon: invalid header field value "oci runtime error: container_linux.go:247: starting container process caused "process_linux.go:334: running prestart hook 1 caused \"error running hook: exit status 1, stdout: , stderr: \"" ".
目前还没有找到办法解决!
3.修改docker的数据文件的位置
systemctl stop docker
cd /var/lib
cp -rf docker docker.bak
cp -rf docker /xxx/
rm -rf docker
ln -s /xxx/docker docker
systemctl start docker
docker info