k8s集群node节点状态为Not Ready

2024-04-09 07:28

本文主要是介绍k8s集群node节点状态为Not Ready,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录

一、Node节点Not Ready状态的可能原因

二、排查node节点状态为Not Ready的原因


一、Node节点Not Ready状态的可能原因

node节点状态为Not Ready可能的原因有:

1.网络插件出问题

有过安装经验的小伙伴应该很熟悉未安装网络插件的情况下node节点在集群中的状态为not ready

2.kubelet进程的问题

了解一下kubelet作用:

容器生命周期管理

资源管理与调度

容器网络配置

存储卷管理

与Master节点的通信

健康检查和事件生成

kubelet是在每个节点上运行的代理,它负责与kubernetes API服务器通信并注册节点。如果kubelet在节点上崩溃或停止,将无法与API Server通信并处于状态Not Ready。

3. 资源稀缺

如果磁盘空间、内存等资源不足,会导致节点进入NotReady状态。

4.kube-proxy出问题

kube-proxy是运行在每个节点上并维护网络规则的网络代理。这些规则允许从集群内部或外部与您的pod进行网络通信,如果kube-proxy崩溃或停止,节点将处于状态Not Ready。

5.kubelet证书过期

二、排查node节点状态为Not Ready的原因

1.网络插件

查看容器状态:

kubectl get pod -A -o wide

查看网络路由:

ip route

查看网络配置:

ip addr/ifconfig

一方面确定网络插件在启动状态,多网络插件的情况下也没有出现网络配置错乱的情况,另一方面确保网络的路由情况没有出错。

2.kubelet进程

查看kubelet状态

systemctl status kubelet

如果kubelet状态不是running,而是activating(auto-restart)

查看kubelet的运行日志:

journalctl -u kubelet  --since today | less

通过安装情况+报错日志推测出来应该是kubelet证书过期的结果,事实证明也的确是如此的原因。

3. 资源稀缺

查看节点的资源情况

df -h

du -sh 路径

一般来说节点上的容器状态出现Evicted或ContainerStatusUnknown,可以优先考虑是磁盘资源不足的情况。若需清理磁盘空间,可参考k8s运维—系统磁盘资源占用率过高-CSDN博客

4.kube-proxy

查看kube-proxy pod的状态

kubectl get pod -n kube-system -o wide

若有问题:

kubectl describe pod podname -n kube-system

5.kubelet证书过期

众所周知,正常情况下k8s的证书为一年一换,不经意间可能会遇到证书过期的情况,所以要仔细查看日志内容中的关键内容,关于证书替换可以参看K8S证书过期解决办法之替换证书_kubelet证书过期了怎么处理-CSDN博客

本次的总结就到这里啦~~希望后续还有机会能继续学习

这篇关于k8s集群node节点状态为Not Ready的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/887534

相关文章

Node.js 数据库 CRUD 项目示例详解(完美解决方案)

《Node.js数据库CRUD项目示例详解(完美解决方案)》:本文主要介绍Node.js数据库CRUD项目示例详解(完美解决方案),本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考... 目录项目结构1. 初始化项目2. 配置数据库连接 (config/db.js)3. 创建模型 (models/

使用Node.js制作图片上传服务的详细教程

《使用Node.js制作图片上传服务的详细教程》在现代Web应用开发中,图片上传是一项常见且重要的功能,借助Node.js强大的生态系统,我们可以轻松搭建高效的图片上传服务,本文将深入探讨如何使用No... 目录准备工作搭建 Express 服务器配置 multer 进行图片上传处理图片上传请求完整代码示例

SpringSecurity JWT基于令牌的无状态认证实现

《SpringSecurityJWT基于令牌的无状态认证实现》SpringSecurity中实现基于JWT的无状态认证是一种常见的做法,本文就来介绍一下SpringSecurityJWT基于令牌的无... 目录引言一、JWT基本原理与结构二、Spring Security JWT依赖配置三、JWT令牌生成与

Redis分片集群的实现

《Redis分片集群的实现》Redis分片集群是一种将Redis数据库分散到多个节点上的方式,以提供更高的性能和可伸缩性,本文主要介绍了Redis分片集群的实现,具有一定的参考价值,感兴趣的可以了解一... 目录1. Redis Cluster的核心概念哈希槽(Hash Slots)主从复制与故障转移2.

关于WebSocket协议状态码解析

《关于WebSocket协议状态码解析》:本文主要介绍关于WebSocket协议状态码的使用方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录WebSocket协议状态码解析1. 引言2. WebSocket协议状态码概述3. WebSocket协议状态码详解3

nvm如何切换与管理node版本

《nvm如何切换与管理node版本》:本文主要介绍nvm如何切换与管理node版本问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录nvm切换与管理node版本nvm安装nvm常用命令总结nvm切换与管理node版本nvm适用于多项目同时开发,然后项目适配no

Flutter监听当前页面可见与隐藏状态的代码详解

《Flutter监听当前页面可见与隐藏状态的代码详解》文章介绍了如何在Flutter中使用路由观察者来监听应用进入前台或后台状态以及页面的显示和隐藏,并通过代码示例讲解的非常详细,需要的朋友可以参考下... flutter 可以监听 app 进入前台还是后台状态,也可以监听当http://www.cppcn

Node.js net模块的使用示例

《Node.jsnet模块的使用示例》本文主要介绍了Node.jsnet模块的使用示例,net模块支持TCP通信,处理TCP连接和数据传输,具有一定的参考价值,感兴趣的可以了解一下... 目录简介引入 net 模块核心概念TCP (传输控制协议)Socket服务器TCP 服务器创建基本服务器服务器配置选项服

mac安装nvm(node.js)多版本管理实践步骤

《mac安装nvm(node.js)多版本管理实践步骤》:本文主要介绍mac安装nvm(node.js)多版本管理的相关资料,NVM是一个用于管理多个Node.js版本的命令行工具,它允许开发者在... 目录NVM功能简介MAC安装实践一、下载nvm二、安装nvm三、安装node.js总结NVM功能简介N

MySQL 中的服务器配置和状态详解(MySQL Server Configuration and Status)

《MySQL中的服务器配置和状态详解(MySQLServerConfigurationandStatus)》MySQL服务器配置和状态设置包括服务器选项、系统变量和状态变量三个方面,可以通过... 目录mysql 之服务器配置和状态1 MySQL 架构和性能优化1.1 服务器配置和状态1.1.1 服务器选项