• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

k8s重启节点状态NotReady

武飞扬头像
一米阳光zw
帮助1

问题分析

每次集群启动时查看节点状态都是NotReady,虽然可以通过这个方法处理解决k8s的coredns一直处于的crashloopbackoff问题,但是指标不治本,每次重启都会出现这个问题所以特地追究了一下原因

学新通

问题分析


查看k8s的日志

很明显可以看出是coredns容器出了问题,coredns无法启动

sudo journalctl -f -u kubelet

学新通

查看系统中的容器运行情况

确认是coredns容器出现问题,发现CoreDNS 状态是CrashLoopBackOff

kubectl get pod -A

学新通

查看详细信息

查看出错容器具体报错信息日志

kubectl describe -n kube-system pod/coredns-5c98db65d4-wcnd6

报错信息截图
学新通
主要报错为network: open /run/flannel/subnet.env: no such file or directory,subnet.env文件为子节点启动时需要的文件,报错信息可能是子节点上报错信息缺失导致

查看主、子节点文件情况

主节点存在该文件,子节点不存在学新通
学新通

解决问题


参考:我的 Windows Pod 无法启动,因为缺少 /run/flannel/subnet.env

知道问题什么原因解决就很简单了,将主节点的/run/flannel/subnet.env文件复制到子节点就可以了。由于子节点没有目录,所以需要在子节点创建目录

子节点创建文件目录

mkdir -p /run/flannel/

学新通

主节点上执行复制指令,将文件复制到子节点

scp -r /run/flannel/subnet.env root@k8s-node01:/run/flannel/
scp -r /run/flannel/subnet.env root@k8s-node02:/run/flannel/

学新通

最后重启项目,问题解决

余生还长,切勿惆怅

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhiegege
系列文章
更多 icon
同类精品
更多 icon
继续加载