添加k8s新节点失败总结

今天给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

原文地址:https://www.cnblogs.com/nazeebodan/p/6934302.html