K8S-节点notReady如何处理?

这篇具有很好参考价值的文章主要介绍了K8S-节点notReady如何处理?。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

使用vmWare虚拟机部署K8S集群,将虚拟机挂起重启后其中一个节点显示notReady状态,为解决该问题,进行了如下处理。 

先在master节点确定问题

1.查看node节点的详细信息

kubectl describe node node01

没有找到问题。

2.确定不存在网络问题

在node节点,执行下述命令

ping master

3.查看kubelet状态

在node节点,执行下述命令

systemctl status kubelet

有报错信息,但不全。

执行下述命令,查看更详细日志信息

journalctl -u kubelet -f

4.结论

 在第3步打开的日志中看出,该node节点在尝试删除master节点上的管理pod,比如:

3月 30 09:38:06 master kubelet[44742]: E0330 09:38:06.728941   44742 mirror_client.go:138] "Failed deleting a mirror pod" err="pods \"etcd-master\" is forbidden: node \"node01\" can only delete pods with spec.nodeName set to itself" pod="kube-system/etcd-master"

决定将该node重启。

方案一:重启物理机。

请注意,在执行重启操作之前,请确保节点上的所有数据都已经备份或保存。

1.将该node上的Pod转移出去,这个v1.23版本以上移除了,在v1.22版本也没有效果。

kubectl drain <node-name>

查看pod情况准备删除pod。

kubectl get node -o wide

确认该节点没有部署Pod,应该是k8s调度处理了。

2.重启节点

sudo reboot

3.加载网络桥接组件

modprobe br_netfilter

4.确认node情况

kubectl get nodes

5.恢复Pod调度

kubectl uncordon <node-name>

6.执行说明

        跳过第3步,在master节点查看node节点的状态依旧是notReady,未执行后续步骤。

方案二:将node上的kubelet重置

1.关闭kubelet进程

systemctl stop kubelet

2.确认进程关闭

ps aux | grep kubelet

3.通过kubeadmin重置

kubeadmin reset

4.获取join命令

在master节点执行

kubeadm token create --print-join-command

 5.执行join命令

在node节点执行,出现如下错误:

error execution phase preflight: [preflight] Some fatal errors occurred:
        [ERROR FileContent--proc-sys-net-bridge-bridge-nf-call-iptables]: /proc/sys/net/bridge/bridge-nf-call-iptables does not exist

执行下述命令加载网络桥接组件:

modprobe br_netfilter

确认,执行下述命令有返回值表明成功。

lsmod | grep br_netfilter

6.再次执行join命令

出现如下错误:

error execution phase kubelet-start: a Node with name "<node-name>" and status "Ready" already exists in the cluster. You must delete the existing Node or change the name of this new joining Node

查看hostname,执行下述命令:

hostname

确认hostname错误执行下述命令变更,执行命令时注意变更node-name

hostnamectl set-hostname <node-name>
> /etc/hostname && echo '<node-name>' > /etc/hostname

7.再次执行join。

成功。

8.在master节点确认。

kubectl get nodes

9.说明文章来源地址https://www.toymoban.com/news/detail-607856.html

  • 因为我的node节点时从master节点克隆出来的,只通过hostnamectl修改了临时值,没有修改静态值。
  • 网络桥接代理没有放到重启命令中,需要手动重启。

到了这里,关于K8S-节点notReady如何处理?的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

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

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

相关文章

  • ·[K8S:使用calico网络插件]:解决集群节点NotReady问题

    执行: wget --no-check-certificate https://projectcalico.docs.tigera.io/archive/v3.25/manifests/calico.yaml 1.2.1:查看本机ip 网卡相关信息: 1.2.2:修改calico.yaml网卡interface相关信息 1.3.1:异常日志抛出: 1.3.2:场景一:执行K8S admin config配置文件替换相关操作: 1.3.2:场景二:执行K8S admin config配置文

    2024年02月14日
    浏览(59)
  • kubeadm 安装k8s集群后,master节点notready问题解决方案

    使用kubeadm 安装k8s集群后,加载calico cni 网络组件后,master节点notready问题 表现为: 使用命令查看日志:journalctl -f -u kubelet 报错如下: Failed to start ContainerManager failed to initialize top level QOS containers: failed to update top level Burstable QOS cgroup : failed to set supported cgroup subsystems for cgroup

    2024年01月22日
    浏览(46)
  • k8s部署解成功解决node节点一直处于NotReady状态的问题,报错failed to load Kubelet config file /var/lib/kubelet/config.yaml

    我在部署k8s的时候host1节点一直显示NotReady 报错便报,直接经典看日志解决问题思路哈哈哈 看日志找报错点,找问题解决问题,思路一定要清晰。 在host1节点中查看报错信息,代码: 由日志信息可知,报错原因是不能从/var/llib/kubelet/config.yaml下载到kubelet的配置。 错误原因估计

    2024年02月11日
    浏览(51)
  • k8s node NotReady:NetworkReady=false reason:NetworkPluginNotReady;cni plugin not initialized

    kubectl获取node节点,集群状态检测时,master、node一直处于NotReady状态 [root@master ~]# kubectl get nodes NAME     STATUS     ROLES           AGE   VERSION master   NotReady   control-plane   27m   v1.26.3 node     NotReady   none          80s   v1.26.3 查看pod状态, 发现coredns一直处于pending状态 [root@

    2024年02月10日
    浏览(45)
  • K8S集群NotReady问题处理

    问题场景: K8S master节点安装完kube-flannel之后(加粗是重点) 执行kubectl get nodes命令看到master状态依旧是NotReady K8S node节点kubeadm join命令后,已成功添加到集群,但是执行kubectl get nodes命令看到node状态依旧是NotReady 图片展示的是node节点的NotReady状态,master节点最开始也是这个状态

    2024年02月05日
    浏览(41)
  • k8s集群网络插件搭建——————解决集群notready(k8s1.20版本,docker24)

            前面已经提到,在初始化 k8s-master 时并没有网络相关配置,所以无法跟 node 节点通信,因此状态都是“NotReady”。但是通过 kubeadm join 加入的 node 节点已经在k8s-master 上可以看到。  那么,这个时候我们该怎么办呢???????? 安装flannel         Master 节点

    2024年02月13日
    浏览(40)
  • 集群重启后发现node1节点出现notready状态,问题排查及解决(kubelet与docker的cgroup驱动不同导致)

    集群重启后发现node1节点出现notready状态 排查: 1、查看服务器的物理环境 free -mh/df -h 2、查看内存是否溢出,磁盘空间是否够用,经查均在正常使用范围内; 3、top查看cpu使用状态,在可用范围内; 4、再查master组件scheduer,controller-manager,apiserver等都在正常运行; 5、查看n

    2024年02月11日
    浏览(46)
  • 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日
    浏览(36)
  • 【K8S】docker和K8S(kubernetes)理解?docker是什么?K8S架构、Master节点 Node节点 K8S架构图

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

    2024年03月26日
    浏览(67)
  • 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日
    浏览(48)

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

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

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

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

二维码1

领取红包

二维码2

领红包