k8s集群部署成功后某个节点突然出现notready状态的问题原因分析和解决办法

文章目录

    • 1、问题描述
    • 2、查看node03的日志
    • 3、错误原因分析
    • 4、解决办法

1、问题描述

k8s集群配置为 一主+三个节点;刚开始运行一直正常;某天突然node03主机状态变为notready,问题如下:

在master节点使用:

#master节点查看节点工作状态
kubectl get nodes

在这里插入图片描述
出现node03节点的状态为NotReady。

2、查看node03的日志

在node03节点中使用一下命令查看报错信息,代码:

#node03节点查看日志
journalctl -f -u kubelet.service 

在这里插入图片描述
报错意思是不能加载kubelet配置文件!
报错意思是不能加载kubelet配置文件!
报错意思是不能加载kubelet配置文件!

-- Logs begin at 四 2023-12-21 15:25:07 CST. --
1222 01:01:00 tigerhhzz-node03-43 systemd[1]: Unit kubelet.service entered failed state.
1222 01:01:00 tigerhhzz-node03-43 systemd[1]: kubelet.service failed.
1222 01:01:10 tigerhhzz-node03-43 systemd[1]: kubelet.service holdoff time over, scheduling restart.
1222 01:01:10 tigerhhzz-node03-43 systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
1222 01:01:10 tigerhhzz-node03-43 systemd[1]: Started kubelet: The Kubernetes Node Agent.
1222 01:01:10 tigerhhzz-node03-43 kubelet[121391]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
12月 22 01:01:10 tigerhhzz-node03-43 kubelet[121391]: F1222 01:01:10.301771  121391 server.go:198] failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file "/var/lib/kubelet/config.yaml", error: open /var/lib/kubelet/config.yaml: no such file or directory
12月 22 01:01:10 tigerhhzz-node03-43 systemd[1]: kubelet.service: main process exited, code=exited, status=255/n/a
12月 22 01:01:10 tigerhhzz-node03-43 systemd[1]: Unit kubelet.service entered failed state.
12月 22 01:01:10 tigerhhzz-node03-43 systemd[1]: kubelet.service failed.
12月 22 01:01:20 tigerhhzz-node03-43 systemd[1]: kubelet.service holdoff time over, scheduling restart.
12月 22 01:01:20 tigerhhzz-node03-43 systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
12月 22 01:01:20 tigerhhzz-node03-43 systemd[1]: Started kubelet: The Kubernetes Node Agent.
12月 22 01:01:20 tigerhhzz-node03-43 kubelet[121400]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
1222 01:01:20 tigerhhzz-node03-43 kubelet[121400]: F1222 01:01:20.508883  121400 server.go:198] failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file "/var/lib/kubelet/config.yaml", error: open /var/lib/kubelet/config.yaml: no such file or directory
1222 01:01:20 tigerhhzz-node03-43 systemd[1]: kubelet.service: main process exited, code=exited, status=255/n/a
1222 01:01:20 tigerhhzz-node03-43 systemd[1]: Unit kubelet.service entered failed state.
1222 01:01:20 tigerhhzz-node03-43 systemd[1]: kubelet.service failed.
1222 01:01:30 tigerhhzz-node03-43 systemd[1]: kubelet.service holdoff time over, scheduling restart.
1222 01:01:30 tigerhhzz-node03-43 systemd[1]: Stopped kubelet: The Kubernetes Node Agent.
1222 01:01:30 tigerhhzz-node03-43 systemd[1]: Started kubelet: The Kubernetes Node Agent.
1222 01:01:30 tigerhhzz-node03-43 kubelet[121407]: Flag --cgroup-driver has been deprecated, This parameter should be set via the config file specified by the Kubelet's --config flag. See https://kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file/ for more information.
1222 01:01:30 tigerhhzz-node03-43 kubelet[121407]: F1222 01:01:30.820217  121407 server.go:198] failed to load Kubelet config file /var/lib/kubelet/config.yaml, error failed to read kubelet config file "/var/lib/kubelet/config.yaml", error: open /var/lib/kubelet/config.yaml: no such file or directory
1222 01:01:30 tigerhhzz-node03-43 systemd[1]: kubelet.service: main process exited, code=exited, status=255/n/a
1222 01:01:30 tigerhhzz-node03-43 systemd[1]: Unit kubelet.service entered failed state.
1222 01:01:30 tigerhhzz-node03-43 systemd[1]: kubelet.service failed.

由日志信息可知,报错原因是不能从/var/llib/kubelet/config.yaml下载到kubelet的配置。

3、错误原因分析

可能node03主机自身某种原因,出现宕机后重启,然后在 kubeadm init初始化后没有加入node03节点到集群中,不能加载kubelet的配置文件/var/lib/kubelet/config.yaml,导致读取/var/llib/kubelet/config.yaml文件失败。

另外估计是我之前没有做 kubeadm init就运行了systemctl start kubelet。

4、解决办法

在master节点,重新生成token,然后尝试在node03问题节点上重新更新token。

## master节点操作
kubeadm token create --print-join-command

在这里插入图片描述
kubeadm join 192.168.162.31:6443 --token 6u1q3a.qxhb1wyjztsp34ty --discovery-token-ca-cert-hash sha256:967bbc3b30871241bbfd61e42ae5fa836e08111a5a43d63b319f028fdbc2241a

在node03节点运行一下代码:(尝试重新加入集群)

## node03节点操作
kubeadm join 192.168.162.31:6443 --token 6u1q3a.qxhb1wyjztsp34ty     --discovery-token-ca-cert-hash sha256:967bbc3b30871241bbfd61e42ae5fa836e08111a5a43d63b319f028fdbc2241a

出现以下情况表明成功加入:
在这里插入图片描述
此时查看node03 kubelet的状态

systemctl status kubelet

在这里插入图片描述
kubelet在node03节点成功运行,node03重新加入集群之后查看所有节点状态,。

继续返回master节点主机查看所有节点状态:

kubectl get nodes

在这里插入图片描述

所有节点状态为ready,问题解决!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/354291.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

el-tree与el-transfer结合成树形穿梭框(tree-transfer)

下载 npm install el-tree-transfer --save<tree-transfer :title"[模块&#xff08;菜单&#xff09;访问权限, 拥有的操作权限]":from_datafromData:to_datatoData:defaultProps"{label:label, children: children}"addBtnaddremoveBtnremove:modemo…

kickstart_具有Java Kickstart的MongoDB

kickstartNoSQL数据库由于其可伸缩性而变得越来越流行。 适当使用时 NoSQL数据库可以提供真正的好处。 MongoDB是使用C 编写的高度可扩展的开源NoSQL数据库。 1.安装MongoDB 您可以按照所使用的操作系统&#xff0c;按照MongoDB官方网站上的说明安装MongoDB&#xff0c;而不会…

DataGuard之DG环境搭建

DG 环境搭建 1.设置归档模式 DG环境的搭建必须要把数据库启动到归档模式&#xff0c;并且为了避免开发人员使用nologging语句&#xff0c;我们还要把数据库设置为force logging。 查看数据库是否运行在归档模式&#xff1a; #su - oracle $sqlplus / as sysdba SQL>archive…

关于抢红包的_关于抢红包的话题800字作文

随着互联网的发展,一些习惯正在我们身边悄悄形成。例如&#xff1a;抢红包&#xff0c;今天学习啦小编为大家精心挑选了关于抢红包的话题800字作文&#xff0c;希望能够很好的帮助到大家。关于抢红包的话题800字作文篇1红包&#xff0c;装得下钞票&#xff0c;却载不动细腻的亲…

uView(Tabbar 底部导航栏)

&#xff08;一&#xff09;第一种方式 1&#xff0c;每个菜单页面都要 “首页” “发布” “我的” 每个页面都要 <template><view>首页<u-tabbar:list"tabBar" change"changeEvent()" bg-color"rgb(51, 61, 73)"active-colo…

了解有关JDK9紧凑弦乐的信息(视频回顾Charlie Hunt)

JDK 9引入了一个称为紧凑字符串的新功能。 鉴于Java程序中普遍存在字符串&#xff0c;我认为这是一个非常重要的更改&#xff0c;所有Java开发人员都必须理解。 在此视频中&#xff0c;查理亨特&#xff08;Charlie Hunt&#xff09;解释了此新功能的历史和实现。 该视频实际上…

a算法解决八数码问题_javascript,八皇后问题解决

八皇后问题 八皇后问题&#xff0c;是一个古老而著名的问题&#xff0c;是回溯算法的典型案例。 该问题是国际西洋棋棋手马克斯贝瑟尔于1848年提出&#xff1a; 在88格的国际象棋上摆放八个皇后&#xff0c;使其不能互相攻击&#xff0c; 即&#xff1a;任意两个皇后都不能处于…

vue项目中使用mock(二)

一&#xff0c;安装&#xff1a; npm install mockjs --save-dev目录&#xff1a; src 同级目录下新建 mock 文件夹 下 新建 mock.js 和 tags.js 文件 二&#xff0c;main.js 中导入&#xff1a; require(/mock/mock.js)三&#xff0c;mock.js 文件&#xff1a; const Moc…

CentOS6.9部署zabbix3.0监控系统

环境&#xff1a; [rootredis ~]# uname -a Linux redis 2.6.32-696.el6.x86_64 #1 SMP Tue Mar 21 19:29:05 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux [rootredis ~]# cat /etc/redhat-release CentOS release 6.9 (Final) [rootredis ~]# getenforce Disabled [rootredis …

输出整形变量语句_Python合集之Python变量

在上一节的合集中&#xff0c;我们了解了Python的保留字与标识符&#xff0c;本节我们将进一步了解一下Python中关于变量的问题。变量严格意义上来讲应该称之为“名称”&#xff0c;也可以理解为标签。在Python中&#xff0c;不需要先声明变量名及其数据类型&#xff0c;直接赋…

FormData使用方法详解

FormData的主要用途有两个&#xff1a; 1、将form表单元素的name与value进行组合&#xff0c;实现表单数据的序列化&#xff0c;从而减少表单元素的拼接&#xff0c;提高工作效率。 2、异步上传文件 一、创建formData对象 1、创建一个空对象&#xff1a; //通过FormData构造函…

IKVM:java代码c#调用

在工作中遇到对接java接口&#xff0c;涉及到java加密或签名问题&#xff0c;.net无法实。就将java代码编辑为dll给.net调用 注&#xff1a;这里只做简单java代码处理&#xff0c;不涉及到复杂的java包 java文件处理&#xff1a; 第一步:简单java代码 package com.zht;//c#命名…

activemq 连接_ActiveMQ网络连接器

activemq 连接这篇文章对我以及对ActiveMQ的网络连接器的工作方式可能感兴趣的任何ActiveMQ贡献者都适用。 我最近花了一些时间查看代码&#xff0c;并认为最好画一些快速的图表来帮助我记住我学到的知识&#xff0c;并在将来发现问题时帮助将来确定在哪里进行调试。 如果我输入…

如何让fragment刷新界面_快速实现android版抖音主界面的心得

原文作者&#xff1a;DK_BurNIng如何快速确定竞品某个界面的实现方式&#xff1f;当你收到产品一个需求是模仿某个竞品且时间很短没有过多时间给你调研技术方案的时候&#xff0c;如何尽快确定这个功能的技术方案呢&#xff1f; 这里我给出我自己的一个小窍门&#xff0c;可以避…

js的深浅拷贝( 赋值后原值被覆盖的问题 )

1&#xff0c;浅拷贝&#xff08; 浅拷贝会复制所有引用对象的指针&#xff0c;而不是具体的值 &#xff09; 复制对象的所有属性都不是引用类型时&#xff0c;就可以使用浅拷贝 浅拷贝方式&#xff1a; Object.assign() [].slice()2&#xff0c;深拷贝&#xff08; 复制一个…

使用JBoss Cool Store的终极云零售指南

我们一直在讨论为什么应用程序开发人员在App Dev Cloud Stack系列中不能再忽略其堆栈了。 带有JBoss Cool Store的App Dev Cloud 我们从头到尾讨论了各个层&#xff0c;但尚未为您提供除Red Hat Container Development Kit&#xff08;CDK&#xff09;之外的任何应用程序开发…

02.Python 3.6.4下载与安装

02.Python 3.6.4下载与安装 https://www.python.org/downloads/release/python-364/ Windows x86-64可执行文件安装程序视窗对于AMD64 / EM64T / x64&#xff0c;不是安腾处理器bee5746dc6ece6ab49573a9f54b5d0a131684744SIG我下载的是这个&#xff1a; https://www.python.or…

根据浏览器navigator区分PC端还是移动端,区分操作系统,区分浏览器型号

1&#xff0c;区分PC端还是移动端 methods:{_isMobile() {let flag navigator.userAgent.match(/(phone|pad|pod|iPhone|iPod|ios|iPad|Android|Mobile|BlackBerry|IEMobile|MQQBrowser|JUC|Fennec|wOSBrowser|BrowserNG|WebOS|Symbian|Windows Phone)/i)return flag;}, }, m…

mysql 用户授权_mysql添加、删除用户和授权用户

MySql中添加用户,新建数据库,用户授权,删除用户,修改密码(注意每行后边都跟个;表示一个命令语句结束):1.新建用户1.1 登录MYSQL&#xff1a;>mysql -u root -p>密码1.2 创建用户&#xff1a;mysql> insert into mysql.user(Host,User,Password) values("localhos…

2018年1月 常用的linux命令

项目中经常用到的Linux命令 &#xff08;注意&#xff1a;linux命令要小写哦&#xff01;&#xff09; &#xff08;1&#xff09;、ls 显示当前目录下的文件 &#xff08;2&#xff09;、vi vim 进入编辑器&#xff0c;可以选择你要编辑的文档&#xff0c;一般我们将项目打…