安装k8s 1.9.0 实践:问题集锦

本文详细记录了在安装kubernetes 1.9.0过程中遇到的问题,包括k8s 1.5与1.9的差别,docker版本选择和安装问题,以及k8s的rpm安装和报错排查。在k8s 1.6之后的安装中,由于需要证书和docker镜像,导致安装复杂。在实际操作中遇到了如docker启动失败、kubelet及kube-dns等组件启动问题,以及集群连接问题等,并提供了相应的解决思路。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

k8s 1.5 与 k8s 1.9的差别

参照以前安装kubernetes 1.5.2失败,原因是docker包冲突。在查看高版本安装过程中发现,高版本kubernetes不再打包安装docker,而是需要用户先自行安装好docker服务。
机器上已经安装了 Docker version 17.12.0-ce, build c97c6d6
再安装kubernetes  (kubernetes.x86_64  1.5.2-0.7.git269f928.el7) 时失败。
错误:docker-ce conflicts with 2:docker-1.12.6-71.git3e8e77d.el7.centos.1.x86_64
您可以尝试添加 --skip-broken 选项来解决该问题
您可以尝试执行:rpm -Va --nofiles --nodigest

猜测可能因为版本问题,故去网上搜索安装更高级版本方法。结果如下:
“但是在kubernetes1.6之后,安装就比较繁琐了,需要证书各种认证,对于刚接触kubernetes的人来说很不友好,按照官方文档在本地安装“集群”的的话,我觉得你肯定是跑不起来的,除非你突破了GFW的限制,还要懂得怎么样不断修改参数。
意思是k8s 1.6之后的安装与之前可能有比较大的差异。google被墙,需要预先下载很多docker镜像。
以下三篇文章安装k8s 1.7.5,由于缺乏docker镜像,安装失败。
https://www.cnblogs.com/liangDream/p/7358847.html
http://www.bubuko.com/infodetail-2375091.html
https://www.kubernetes.org.cn/3063.html


docker安装问题

docker版本选择

kubernetes1.9.0 最高支持docker17.03 目前装的17.12太高了 要降级。

Kubernetes对Docker的版本支持列表  http://blog.youkuaiyun.com/csdn_duomaomao/article/details/79171027

删除docker

[root@tensorflow0 hdzhou]# yum remove docker \
docker-common \
docker-selinux \
docker-engine


======================================================================================================================================================================================
Package                                      架构                              版本                                                  源                                         大小
======================================================================================================================================================================================
正在删除:
container-selinux                            noarch                            2:2.36-1.gitff95335.el7                               @extras                                    34 k
为依赖而移除:
docker-ce                                    x86_64                            17.12.0.ce-1.el7.centos                               installed                                 123 M
nvidia-docker2                               noarch                            2.0.2-1.docker17.12.0.ce                              @nvidia-docker                            2.3 k

事务概要
======================================================================================================================================================================================
移除  1 软件包 (+2 依赖软件包)

docker启动失败问题

2月 26 16:42:00 tensorflow0 dockerd[8717]: time="2018-02-26T16:42:00.315096986+08:00" level=info msg="libcontainerd: new containerd process, pid: 8725"
2月 26 16:42:01 tensorflow0 dockerd[8717]: time="2018-02-26T16:42:01.319051277+08:00" level=error msg="[graphdriver] prior storage driver overlay2 failed: driver not supported"
2月 26 16:42:01 tensorflow0 dockerd[8717]: Error starting daemon: error initializing graphdriver: driver not supported
2月 26 16:42:01 tensorflow0 systemd[1]: docker.service: main process exited, code=exited, status=1/FAILURE
2月 26 16:42:01 tensorflow0 systemd[1]: Failed to start Docker Application Container Engine.

解决:
sudo mv /var/lib/docker /var/lib/docker.old











k8s安装问题

rpm安装

rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm
rpm -ivh kubernetes-cni-0.6.0-0.x86_64.rpm  kubelet-1.9.9-9.x86_64.rpm  kubectl-1.9.0-0.x86_64.rpm
rpm -ivh kubectl-1.9.0-0.x86_64.rpm
rpm -ivh kubeadm-1.9.0-0.x86_64.rpm

rpm删除

rpm -e 文件名 --nodeps
eg:
rpm -e socat-1.7.3.2-2.el7.x86_64 --nodeps
rpm -e kubernetes-cni-0.6.0-0.x86_64 --nodeps
rpm -e kubelet-1.9.0-0.x86_64 --nodeps
rpm -e kubectl-1.9.0-0.x86_64 --nodeps
rpm -e kubeadm-1.9.0-0.x86_64.rpm --nodeps

查看报错信息

cat /var/log/messages
journalctl -xeu kubelet
  • kubelet启动后 ca文件不存在是正常的,在后续步骤 kubeadm init执行后会生成ca文件。

  • kubelet启动后在不停重启是正常的!

The kubelet is now restarting every few seconds, as it waits in a crashloop for kubeadm to tell it what to do. This crashloop is expected and normal, please proceed with the next step and the kubelet will start running normally.




  • 初始化集群
kubeadm init --kubernetes-version=v1.9.0 --pod-network-cidr=10.244.0.0/16

务必记录如下信息,每次生成都不一样
eg:
kubeadm join --token 5ce44e.47b6dc4e4b66980f 192.168.1.138:6443 --discovery-token-ca-cert-hash sha256:9d7eac82d66744405c783de5403e1f2bb7191b4c1b350d721b7b8570c62ff83a
token重新获取
kubeadm token list
或者 

 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值