前景:
k8s 大火,诸多项目都有涉及,搭建个集群 学习一下
网上博客,资料众多。尝试了两篇不同的博客,不同安装方式,最后都已失败告终,并且不经意间删掉了已有的docker 环境。。。。
卡了我三天的问题,今天得到解决,写个文章记录一下。
现状:
k8s安装需依赖docker镜像。目前安装主要分两种, 一种calico 做网络通信, 一种是flannel 做通信。
第一种:calico 我卡在了master 初始化后,calico 调试完出现 unhealthy(后解决了也没用),且 node join 不进去。卡在 [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap... 报超时错误。然后就不知所措了
第二种:flannel 我已深陷坑中,不能自拔。主要是 拉取文件
https://raw.githubusercontent.com/coreos/flannel/a70459be0084506e4ec919aa1c114638878db11b/Documentation/kube-flannel.yml
这一步,解析不了这个网址,网上说的去解析它源ip 什么的也试了,没行! 所以又放弃了flannel
回到 calico 又重新看各种博客,清了环境 重新安装。发现是集群网络有点问题:
master 注册一直都没问题。但都卡在 node join 上 ,每次join:
会有
[ERROR FileAvailable--etc-kubernetes-kubelet.conf]: /etc/kubernetes/kubelet.conf already exists
[ERROR Port-10250]: Port 10250 is in use
[ERROR FileAvailable--etc-kubernetes-pki-ca.crt]: /etc/kubernetes/pki/ca.crt already exists
这种 文件存在的错误,说明上次join 的临时文件没有清理。已经执行了初始化或者 join ,
这时需要kubeadm reset ,重置一下 环境。无论是 master 还是 node ,遇到文件存在,首先要 reset 清理环境问题。
坑:master:xxxxxx already exists ===> master : kubeadm reset , kubeadm init ......
node:xxxxxx already exists =====> node :kubeadm reset , kubeadm join ....
当 node : [kubelet-start] Waiting for the kubelet to perform the TLS Bootstrap...
[kubelet-check] Initial timeout of 40s passed.
可能是网络问题。 中断程序, kubeadm reset , 重新join 我第二次就join 进去了。
这时 ,kubectl get nodes 就okl
具体搭建过程,会在后续分享出来,未完待续....