删除命名空间一直处于Terminating

news/2024/7/7 20:38:15

删除命名空间一直处于Terminating

通常删除命名空间或者其他资源一直处于Terminating状态,是由于资源调度到的节点处于NotReady状态,需要将节点重新加入到集群使其状态变为Ready状态才能解决问题,当node重新加入处于Ready状态后,资源会自动顺利删除

查看节点状态是否是NotReady状态

运行如下命令查看node信息

kubectl get nodes

在这里插入图片描述

  • 查看STATUS列,是否有节点是NotReady状态,并看一直处于Terminating状态的命名空间下是否有资源调度到NotReady状态节点上,如果是多半是这个原因导致的

查看节点详细信息

运行如下命令查看节点详情

kubectl get node 节点名称 -o yaml

在这里插入图片描述

  • 检查是否被打上污点,当节点出现异常或者资源不足时,K8s系统会为节点打上相对应的污点,如下污点

    • node.kubernetes.io/disk-pressure:磁盘压力污点,当可使用磁盘空间低于15%时将打上此污点,这个百分比是可以在部署K8s集群时设置的

    • node.kubernetes.io/unreachable:节点失联,当节点网络出现问题时会导致节点失联

  • 除上面说的两个污点外还有很多K8s系统使用的污点,可以翻阅官方文档了解

从上面可以看到节点被打上了node.kubernetes.io/unreachable污点,表明节点网络原因导致的NotReady,因此需要排查集群网络是否有问题

查看集群组件是否正常运行

运行如下命令检查kube-system命名空间下pod是否正常运行

kubectl get pods -n kube-system
  • 如果有运行不正常的pod,需要查看日志,了解异常原因并解决

集群通过https://gitee.com/open-hand/kubeadm-ha.git工具拉起。如果上述没有发现问题,还可以查看K8s集群的组件是否正常运行

docker ps -a

在这里插入图片描述

  • 查看所有docker容器,检查K8s集群组件是否正常,可以发现k8s_lb-nginx_lb-nginx容器异常退出

查看k8s_lb-nginx_lb-nginx容器日志

docker logs -f -n 500 9c9c8ad02ae2

在这里插入图片描述

  • 查看容器日志发现8081端口被占用,导致k8s_lb-nginx_lb-nginx无法启动

  • 此K8s集群使用nginx作为负载均衡,因此k8s_lb-nginx_lb-nginx无法启动会导致负载均衡无法进行,也无法完成节点正常启动运行,因此需要释放8081端口占用

检查端口占用情况

找到占用8081端口的进程

netstat -anp | grep 8081

根据进程号查看进程详细信息

ps -ef | grep 2682
  • 通过进程详细信息可以知道进程是如何产生,妥善处理此进程与K8s系统占用端口的冲突

总结

当处理好端口占用问题后,k8s_lb-nginx_lb-nginx容器正常运行,节点重新加入集群,处于Terminating状态资源正常删除。导致资源删除一直Terminating的原因多种多样,需要结合显现大胆猜想,小心求证。如果节点组件问题导致,可以查看https://gitee.com/open-hand/kubeadm-ha/blob/release-1.21/docs/00-%E5%AE%89%E8%A3%85%E9%A1%BB%E7%9F%A5.md给出的组件是否正常运行,是否有端口占用。如果是资源问题导致,则需要清理没用的资源,或者扩容节点


http://lihuaxi.xjx100.cn/news/1490769.html

相关文章

智慧工地云平台源码:工地管理专家

智慧工地是目前建筑行业的热门话题之一,它代表了未来建筑施工的发展趋势。那么,智慧工地的未来,你看好吗? 从技术角度来看,智慧工地无疑是未来发展的趋势。随着人工智能、大数据、云计算等技术的飞速发展,智…

Python面试题100例【26~30题】

二十六、请介绍下Django框架的生命周期 Django是一个高级的Python Web框架,它遵循MVC设计模式(在Django中通常称为MTV,即模型(Model)、模板(Template)和视图(Views)),并且鼓励快速开发和干净、…

数学系硕士研究生的科研过程——PDE约束下含参优化控制问题的深度学习算法

笔者今天上午收到了之前北大课题组老板的通知,得知研究生期间和学长合作的论文终于被siam接收,终于为自己研究生涯画上了一个句号。这里打算分享一下个人的科研过程以及这篇论文的工作,即将读研或者打算读研的同学或许可以从中获得益处。论文…

java八股文面试[JVM]——类加载器

一、类加载器的概念 类加载器是Java虚拟机用于加载类文件的一种机制。在Java中,每个类都由类加载器加载,并在运行时被创建为一个Class对象。类加载器负责从文件系统、网络或其他来源中加载类的字节码,并将其转换为可执行的Java对象。类加载器…

系统架构设计师考试论文:论微服务架构及其应用

论微服务架构及其应用近年来,随着互联网行业的迅猛发展,公司或组织业务的不断扩张,需求的快速变化以及用户量的不断增加,传统的单块(Monolithic)软件架构面临着越来越多的挑战,已逐渐无法适应互…

jQuery Editable Select可搜索下拉选项框

前言 可搜索的下拉选项框 源码地址:https://github.com/indrimuska/jquery-editable-select 可搜索的下拉选项框 引入依赖 <script src"//code.jquery.com/jquery-1.12.4.min.js"></script> <script src"//rawgithub.com/indrimuska/jquery…

iTubeGo for Mac视频下载器

iTubeGo YouTube Downloader是一款功能强大的YouTube视频下载工具&#xff0c; 它具有以下特色&#xff1a; 多种格式支持&#xff1a;iTubeGo YouTube Downloader可以将YouTube视频下载为多种常见的视频和音频格式&#xff0c;包括MP4、MP3、AVI、FLV、MOV、WMV等&#xff0c…