k8s pod始终处于pending状态的解决方案

 更新时间:2025年08月13日 08:39:13   作者:珂玥c  
新K8s部署后服务重启导致dashboard无法访问,所有Pod处于Pending状态,原因分析显示,因节点污点引发调度失败,删除污点后问题解决,总结Pending原因分为三类:调度问题(污点、资源不足)、镜像问题(拉取失败)、依赖性问题(卷/Secret/ConfigMap缺失)

项目场景

新搭建的k8s投入使用,为新项目提供节点资源。

问题描述

k8s服务部署后,由于项目需要,进行了一次服务重启,结果发现kubernetes-dashboard无法访问,kubectl get pod -A 查看所有pod发现,均处于pending状态。

原因分析

怀疑是node节点出了问题,所以导致pod无法启动。

解决方案

第一步:查看所有pod节点状态,发现全部是pending

kubectl get pod -A

第二步:查看namespace里面一个pod的详细信息,查看具体是什么原因导致的pending

kubectl -n kubernetes-dashboard describe pod dashboard-metrics-scraper-c45b7869d-vv9kw

#kubectl -n namespace的名字 describe pod pod的名字

结尾处看到报错信息,两个节点有污点,pod无法容忍。

第三步:查看污点信息

 kubectl describe nodes  |grep Taints

第四步:删除污点内容。污点名字后面跟 - 号,就可以删除了

kubectl taint nodes node1  project=devcenter-build:NoExecute-

kubectl taint nodes node2  project=devcenter-build:NoExecute-

第五步:再次查看污点信息,查看pod状态

kubectl describe nodes  |grep Taints

kubectl get pod -A

问题结束后,看了一些相关文章。

总结发现,pending状态导致的原因主要分为三类:

  • 第一类: 调度问题,无法在任何节点上调度 Pod。其中包括,污点、node节点内存或cpu资源不足、都会引起调度失败。
  • 第二类: 镜像问题,无法拉取到镜像。包括,镜像名称、标签、镜像仓库输入错误,镜像仓库需要身份验证等,都导致拉取失败。
  • 第三类:依赖性问题,Pod 需要一个卷、Secret 或 ConfigMap 才能运行。(没遇到过,但是据说发生这个问题的可能性较小)

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

相关文章

  • k3s安装部署流程

    k3s安装部署流程

    文章详细介绍了如何在国内配置K3s镜像源、部署仪表盘、配置角色和权限、获取仪表盘token、进行端口转发以及使用nerdctl和buildkitd构建容器镜像的方法,并附带了注意事项和验证步骤
    2026-01-01
  • 云原生要素配置分离ConfigMap创建方式

    云原生要素配置分离ConfigMap创建方式

    这篇文章主要为大家介绍了云原生要素配置分离ConfigMap以及多种创建方式,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步早日升职加薪
    2022-03-03
  • k8s创建启动、删除pod的实现过程

    k8s创建启动、删除pod的实现过程

    Kubernetes中Pod是管理容器的最小单元,包括创建、管理和删除过程,Pod状态包括Pending、Running、Succeeded、Failed和Unknown
    2026-01-01
  • KubeSphere分级管理实践及解析

    KubeSphere分级管理实践及解析

    这篇文章主要为大家介绍了KubeSphere分级管理实践及解析,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2022-06-06
  • 使用sealos快速搭建K8s集群环境的过程

    使用sealos快速搭建K8s集群环境的过程

    这篇文章主要介绍了使用sealos快速搭建K8s集群环境,主要包括sealos安装方法,虚拟机设置方法,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-09-09
  • 使用k8tz解决pod内的时区问题(坑的解决)

    使用k8tz解决pod内的时区问题(坑的解决)

    时区的不一致,会带来很多困扰。即使代码与时区无关,但容器日志与系统日志时间相关联排查问题也会让人头疼,这篇文章主要介绍了使用k8tz优雅的解决pod内的时区问题,需要的朋友可以参考下
    2022-10-10
  • K8S中应用无法获取用户真实ip问题排查过程

    K8S中应用无法获取用户真实ip问题排查过程

    这篇文章主要介绍了K8S中应用无法获取用户真实ip问题排查过程,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-07-07
  • 详解kubernetes pod的编排和生命周期

    详解kubernetes pod的编排和生命周期

    这篇文章主要介绍了kubernetes pod的编排和生命周期的相关资料,帮助大家更好的理解和学习使用K8S,感兴趣的朋友可以了解下
    2021-04-04
  • 在K8S中实现会话保持的两种方案

    在K8S中实现会话保持的两种方案

    这篇文章主要介绍了在K8S中实现会话保持的两种方案,每种方案结合示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-03-03
  • k8s编排之StatefulSet知识点详解二

    k8s编排之StatefulSet知识点详解二

    这篇文章主要为大家介绍了k8s编排之StatefulSet知识点的部分详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-01-01

最新评论