kubernetes安装过程中遇到问题及解决

系列目录
根据机器环境的不同,有的可能一次就安装成功,有的则可能遇到各种各样的坑需要排查.建议不熟悉linux的用户使用全新的环境来安装kubernetes.以下记录本人在安装过程中遇到的问题及解决方案.

缺少docker

由于是按照步骤安装的,刚开始装前几台机器的时候都看的非常认真,到了后面就越来越毛躁了,装节点加入集群的时候提示需要docker,这时候在节点上执行docker命令时发现docker不存在,这时候才发现docker没有成功安装.

安装docker时报container-selinux >= 2.9错误

由于测试环境的机器是不同批准到来的,第一批安装非常顺序,第二批是直接放置在办公室的PC机,也非常不顺序,安装过程遇到各种各样麻烦.

上面说过,加入集群时发现docker没有安装成功,安装docker时出现了以下错误

Error: Package: docker-ce-18.03.1.ce-1.el7.centos.x86_64 (docker-ce-edge)
           Requires: container-selinux >= 2.9
 You could try using --skip-broken to work around the problem
 You could try running: rpm -Va --nofiles --nodigest

这个报错是container-selinux版本低或者是没安装的原因

yum 安装container-selinux 一般的yum源又找不到这个包

需要安装epel源 才能yum安装container-selinux

然后在安装docker-ce就可以了。

wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo

yum install epel-release #阿里云上的epel源

yum makecache

然后yum install container-selinux

加入集群后节点状态一直是NotReady

出现这个错误可以在节点机器上执行journalctl -f -u kubelet查看kubelet的输出日志信息.

发现以下错误

Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready: cni config uninitialized

出现这个错误提示信息已经很明显,网络插件没有准备好.我们可以执行命令docker images|grep flannel来查看flannel镜像是否已经成功拉取下来.经过排查,flannel镜像拉取的有点慢,稍等一会以后就ok了.

如果你等待了很长时间仍然没有拉下来flannel镜像,可以使用docker save把主节点上的flannel镜像保存为压缩文件,然后再在当前节点上执行docker load来加载,具体操作其它章节有介绍,大家可以查找或者查看官方文档.还有一种办法就是使用上一节介绍到的如何拉取gcr.io或者quay.io上镜像的方法来手动把镜像拉取过来.

节点加入集群时报错

节点加入集群时,可能会报各种各样的错误,有些容易解决,有些可能一时无法找到好的解决办法.这时候可以尝试使用kubeadm reset命令来重置一下,然后再重新加入.

posted @ 2019-06-04 17:34  周国通  阅读(20641)  评论(0编辑  收藏  举报