kubelet不断重启引起的节点下线

一、背景

由3master+1worker组成的测试环境,之前一直未加电,由于适配服务需求,启用该测试环境,登录节点后发现:一个管理节点下线,由于多master,导致集群能正常使用,在适配完服务后,进行排故。

二、故障现象

首先ping故障节点,发现能ping通且能正常登录,在登录故障节点后发现服务器状态正常,那就是组件层面导致的节点下线。

$ kubectl  get node

The connection to the server localhost:8080 was refused - did you specify the right host or port?

#说明kubelet无法访问api-server接口,导致获取节点信息失败;

$ systemctl status docker | grep Active

#docker状态也正常,处于runnning状态

$ docker ps -a

#执行该命令发现未启动静态pod---这也是为什么kubectl命令执行失败原因  

三、排故

#k8s集群内部组件中kubelet负责拉起静态pod,查看kubelet状态

$ systemctl status kubelet

#发现服务在不断重启(EXITED bad code

$ journalctl -fu kubelet

#查看日志,发现在访问api-server接口的时候访问失败,报错如下:

k8s.io/Kubernetes/pkg/kubelet/kubelet.go:536: Filed to list *v1.Node: Get “https://********:****/api/v1/nodes?filedSelector=metadata.name%2...:dial tcp *******:****:connect :connection refused ”

静态pod创建如下图所示:

图一:静态pod创建流程

四、解决方法

#检查kubelet的配置文件及启动参数----------正常

#基于kubelet的启动原理,是不是systemd原因导致的kubelet不断重启,于是检查systemdrpm包版本,果不其然,版本与其他节点的版本不匹配,经查官网,确实有此bug,经过升级systemd版本后,重启,集群恢复正常,节点正常上线。

五、参考文献

Kubernetes官网:https://kubernetes.io/

  • 8
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值