kubernetes初始化集群kubeadm init问题及解决方案

最近,重新部署K8s集群时,遇到之前部署未遇到的问题,下面是问题及解决方案:

具体部署过程请参考B站尚硅谷教程:【尚硅谷】Kubernetes(k8s)入门到实战教程丨全新升级完整版

这次部署遇到的问题:在执行kubeadm init时显示如下

[wait-control-plane] Waiting for the kubelet to boot up the control plane as static Pods from directory “/etc/kubernetes/manifests”. This can take up to 4m0s

等一段时间然后显示报错
[kubelet-check] Initial timeout of 40s passed

之前的解决方案按照博客错误三执行kubeadm init初始化k8s集群时报错,[kubelet-check] Initial timeout of 40s passed._WinterPirates的博客-CSDN博客_k8s初始化集群报错

能够顺利解决问题,但后面部署flannel时发现还是会报错,即使node的状态显示为ready。并且之前曾参考尚硅谷部署成功过,因此考虑是其他问题

实际解决方案:

由于我的集群搭建在云服务器上,一开始在/etc/hosts中添加的是公网IP,后将其改为对应的内网IP,后续搭建成功,也不需要如上面博客所对相关镜像进行修改。

考虑到虚拟机和云服务器的差别,但具体原理有关k8s集群节点间为何不能通过公网访问,仍百思不得其解,目前仍在探索中,也希望能得到路过的高人指点。

希望对诸君有用

附:有需要flannel.yml文件的可在我博客的资源中下载

你可能感兴趣的:(k8s学习,kubernetes,java,容器)