k8s部署解成功解决node节点一直处于NotReady状态的问题,报错failed to load Kubelet config file /var/lib/kubelet/config.yaml

这篇具有很好参考价值的文章主要介绍了k8s部署解成功解决node节点一直处于NotReady状态的问题,报错failed to load Kubelet config file /var/lib/kubelet/config.yaml。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

我在部署k8s的时候host1节点一直显示NotReady
k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux
报错便报,直接经典看日志解决问题思路哈哈哈
看日志找报错点,找问题解决问题,思路一定要清晰。

在host1节点中查看报错信息,代码:

journalctl -f -u kubelet.service 

k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux
由日志信息可知,报错原因是不能从/var/llib/kubelet/config.yaml下载到kubelet的配置。

错误原因估计是我之前没有做 kubeadm init就运行了systemctl start kubelet。
我们可以尝试将token更新,重新生成token,代码如下:

kubeadm token create --print-join-command

复制输出的内容,分别在hsot中运行,如下:
k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

两个节点重新加入集群之后查看host1节点状态,

systemctl status kubelet

k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux
我们再来看看master上面的集群信息发现已经变为ready

kubectl get nodes

k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

集群都没啥问题之后我们就可以测试Kubernetes,来试试部署nginx

在主节点上运行:

kubectl create deployment nginx --image=nginx #创建一个httpd服务测试

k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

kubectl expose deployment nginx --port=80 --type=NodePort 

#端口就写80,如果你写其他的可能防火墙拦截了
k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

kubectl get svc,pod   #对外暴露端口

k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux
这里要注意一个点,就是节点状态由NotReady状态变为Ready状态时候,要检查各个节点,包括主节点是否有/run/flannel/subnet.env,文件内容如下:
FLANNEL_NETWORK=10.244.0.0/16
FLANNEL_SUBNET=10.244.0.1/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true

如果缺少相关文件
则需要我们创建cni网络相关配置文件:

mkdir -p /etc/cni/net.d/
cat <<EOF> /etc/cni/net.d/10-flannel.conf
{"name":"cbr0","type":"flannel","delegate": {"isDefaultGateway": true}}
EOF
mkdir /usr/share/oci-umount/oci-umount.d -p
mkdir /run/flannel/
cat <<EOF> /run/flannel/subnet.env
FLANNEL_NETWORK=10.199.0.0/16
FLANNEL_SUBNET=10.199.1.0/24
FLANNEL_MTU=1450
FLANNEL_IPMASQ=true
EOF

确实这些文件也会在集群日志中报错:

cni config uninitialized
5月 06 12:44:06 master kubelet[48391]: W0506 12:44:06.599700   48391 cni.go:213] Unable to update cni config: No networks found in /etc/cni/net.d
5月 06 12:44:07 master kubelet[48391]: E0506 12:44:07.068343   48391 kubelet.go:2170] Container runtime network not ready: NetworkReady=false reason:NetworkPluginNotReady message:docker: network plugin is not ready

k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

Kubectl get nodes
k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

浏览器网址输入
192.168.95.25:30722
k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

或者输入CLUSTER-IP:
10.100.184.180
k8s node notready 重启,大数据,系统运维,Linux,kubernetes,kubelet,docker,大数据,linux

这样就成功测试Kubernetes,完成nginx部署啦!

部署k8s集群挺多坑的,不过都见惯不惯了,找报错信息看日志见招拆招哈哈哈哈。文章来源地址https://www.toymoban.com/news/detail-678794.html

到了这里,关于k8s部署解成功解决node节点一直处于NotReady状态的问题,报错failed to load Kubelet config file /var/lib/kubelet/config.yaml的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • k8s pod一直处于pending状态一般有哪些情况,怎么排查?

    一个pod一开始创建的时候,它本身就是会处于pending状态,这时可能是正在拉取镜像,正在创建容器的过程。 如果等了一会发现pod一直处于pending状态, 那么我们可以使用kubectl describe命令查看一下pod的Events详细信息。一般可能会有这么几种情况导致pod一直处于pending状态: 1、

    2024年01月17日
    浏览(49)
  • 【云原生】二进制部署k8s集群(中)搭建node节点

    在上文已经成功部署了etcd分布式数据库、master01节点, 本文将承接上文的内容,继续部署Kubernetes集群中的 worker node 节点和 CNI 网络插件 kubelet 采用 TLS Bootstrapping 机制,自动完成到 kube-apiserver 的注册,在 node 节点量较大或者后期自动扩容时非常有用。   Master apiserver 启用 T

    2024年02月09日
    浏览(51)
  • 解决公网下,k8s calico master节点无法访问node节点创建的pod

    目的:解决pod部署成功后,只能在node节点访问,而master节点无法访问 原因:集群搭建时,没有配置公网进行kubectl操作,从而导致系统默认node节点,使用内网IP加入k8s集群!如下: 解决方案:围绕公网IP进行搭建即可,其实就是在传统的搭建步骤下,给master节点和node节点添加

    2024年02月03日
    浏览(45)
  • 解决k8s node节点报错: Failed to watch *v1.Secret: unknown

    现象:  这个现象是发生在k8s集群证书过期,重新续签证书以后。 记得master节点的/etc/kubernetes/kubelet.conf文件已经复制到node节点了。 但是为什么还是报这个错,然后运行证书检查命令看一下:   看样子是差/etc/kubernetes/pki/apiserver.crt文件。 但是从master节点scpapiserver.crt文件以

    2024年01月16日
    浏览(42)
  • 完美解决k8s master节点无法ping node节点中的IP或Service NodePort的IP

    1、问题一 使用搭建好了K8S集群,先是node节点加入k8s集群时,用的内网IP,导致master节点无法操作node节点中的pod(这里的不能操作,指定是无法查看node节点中pod的日志、启动描述、无法进入pod内部,即 kubectl logs 、kubectl  describe、kubectl exec -it 等等的命令都不能) 解决办法:

    2024年02月05日
    浏览(38)
  • k8s删除node节点

    如果不做上面的操作的话会导致这个节点上的pod无法启动,具体报错信息为:networkPlugin cni failed to set up pod \\\"alertmanager-main-1_monitoring\\\" network: failed to set bridge ad has an IP address different from 10.244.5.1/24 ,意思是已经集群网络cni已经有一个不同于10.244.51.1/24 的网络地址,所以需要执行

    2024年02月08日
    浏览(31)
  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

    一、docker的问世         在LXC(Linux container)Linux容器虚拟技术出现之前,业界网红是虚拟机。虚拟机技术的代表,是VMWare和OpenStack。 虚拟机是什么?         虚拟机其实就是 在你的操作系统里面,装一个软件,然后通过这个软件,再模拟一台甚至多台“子电脑”出来。

    2024年03月26日
    浏览(59)
  • k8s添加node节点和master节点

    版本: kubelet:v1.20.4 docker: 20.10.23 资源: cpu:8 mem:16 kernel:3.10.0-1160.71.1.el7.x86_64 镜像仓库地址: registry.cn-hangzhou.aliyuncs.com/google_containers/ 2.1)关闭防火墙 2.2)关闭selinux 3)修改内核和加载所需要的内核 2.3)准备yum源 3.1)刷新缓存安装kubeadm、kubectl、kubelet、docker-ce 3.2)设置syste

    2023年04月16日
    浏览(41)
  • k8s删除node节点的方法

    2024年02月16日
    浏览(38)
  • 设置k8s中节点node的ROLES值,K8S集群怎么修改node1的集群ROLES

    其实这个Roles就是一个标签,执行以下命令给node1 和 node2 打上worker标签 k8s-node1 打上标签为worker1 k8s-node2 打上标签为worker2

    2024年02月02日
    浏览(40)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包