讲师中心 微信公众号
AI工具推荐 视频效率加速

Kubernetes部署失败如何排查_K8s常见错误分析

阿宇吖_1001

阿宇吖_1001

发布时间:2026-02-10 13:53:02

|

681人浏览过

|

来源于php中文网

原创

Kubernetes部署失败80%可三步定位:先看Pod状态、再查事件(kubectl describe pod)、最后读日志(含--previous)。CrashLoopBackOff需查上轮崩溃日志;ImagePullBackOff重点验镜像名、凭据、网络;Pending则查资源、标签、污点、配额。

kubernetes部署失败如何排查_k8s常见错误分析

Kubernetes部署失败,90%以上都卡在Pod启动环节——不是镜像拉不下来,就是容器一启就崩,或者压根没被调度出去。别急着重试或删yaml,先看状态、查事件、读日志,三步就能定位80%的问题。

CrashLoopBackOff:应用一跑就崩,怎么快速定位?

这个状态说明容器反复启动→崩溃→重启,根本没活过几秒。关键不是“为什么崩”,而是“崩之前干了什么”。

  • 先用 kubectl logs <pod-name> -n <namespace> --previous</namespace></pod-name> 查上一轮崩溃的日志(当前容器可能已退出,--previous 才能看到真实错误)
  • 常见真凶:configmap 挂载路径错导致配置文件缺失、secret 未注入导致数据库密码为空、环境变量名拼写错误(比如 DATABASE_URL 写成 DB_URL)、健康探针路径不存在(readinessProbe.httpGet.path: /healthz 但应用只暴露 /health)
  • 别信应用日志里的“成功启动”——有些框架会先打一行启动日志,再因依赖初始化失败而退出,一定要看到最后一行错误堆栈

ImagePullBackOff:镜像明明存在,却说“找不到”

不是仓库里没有镜像,而是K8s节点根本没权限或没连上。重点查三件事:名字、凭据、网络。

Kubernetes Network Policy Generator
Kubernetes Network Policy Generator

使用加权评分卡在12项标准上评估和比较隐私解决方案供应商。适用于选择隐私管理软件、比较数据保护方案等场景。

下载
  • 在节点上手动执行 docker pull <image></image> 或 crictl pull <image></image>,复现失败过程——能拉成功?那问题出在Pod定义;拉失败?看报错是 unauthorized 还是 timeout
  • 私有仓库必须配 imagePullSecrets,且 Secret 必须和 Pod 在同一命名空间;Secret 名称大小写敏感,regcred 和 RegCred 是两个东西
  • 检查 Secret 内容是否 Base64 编码正确:echo <base64-string> | base64 -d</base64-string> 应输出合法的 { "auths": { "xxx": { "auth": "..." } } },否则 kubectl describe pod 里会显示 Failed to pull image "...": rpc error: code = Unknown desc = Error response from daemon: Get ...: unauthorized

Pending 状态不动:资源不够?还是被拦住了?

Pod 卡在 Pending,说明调度器连绑定都没完成。它不怪应用,只看资源、标签、污点、配额四样东西。

  • 运行 kubectl describe pod <pod-name> -n <namespace></namespace></pod-name>,紧盯 Events 区域——出现 Insufficient cpu 或 node(s) had taint {node-role.kubernetes.io/master:NoSchedule} 就直接对症下药
  • 别只看 kubectl top node,还要查节点真实可分配资源:kubectl describe node <node-name></node-name> 里找 Allocatable 和 Non-terminated Pods 占用,有些节点看似空闲,但已被 DaemonSet 或系统组件占满
  • 命名空间级资源配额(ResourceQuota)常被忽略:kubectl get resourcequota -n <namespace></namespace>,如果显示 used 接近 hard,即使集群有空资源,Pod 也会被拒

Endpoint 为空、Service 不通:服务发现断在哪?

Deployment 起来了,Pod Running,但 kubectl get endpoints 返回空,说明 Service 根本没找到后端——八成是标签没对上。

  • 对比两处标签:Pod 的 metadata.labels(如 app: guestbook) 和 Service 的 spec.selector(必须完全一致,包括键名和值)
  • 注意 Deployment 模板里 spec.template.metadata.labels 才决定 Pod 标签,不是 Deployment 自身的 labels
  • 如果用了 matchLabels + matchExpressions 复合选择器,漏掉任一条件都会导致 Endpoint 为空;简单起见,生产环境优先用纯 matchLabels
  • NetworkPolicy 也可能静默拦截:kubectl get networkpolicy -A,尤其当集群默认拒绝所有入站流量时,哪怕标签全对,流量也到不了 Pod

最易被忽略的点:很多问题表面是“部署失败”,实际是滚动更新卡在旧副本没终止、ConfigMap 更新后 volume 挂载没刷新、或 RBAC 权限只给了 ClusterRole 没绑 RoleBinding——排查时别只盯着 Pod,得顺着 ServiceAccount → RoleBinding → Role → API 资源访问链一路往下捋。

热门AI工具

更多
立刻MV
立刻MV Hot

立刻MV是一款AI文本写作工具,AI 音乐视频(MV)创作工具。

PixPix
PixPix Hot

PixPix是一款面向电商视觉生产的AI商品图生成工具。

WorkBuddy

一款AI办公效率工具,主要用于腾讯云推出的AI原生桌面智能体工作台,适合需要提升相关任务效率的用户。

PixTV
PixTV Hot

PixTV是一款面向AIGC内容创作的AI视频生成工具。

DeepSeek

DeepSeek是一款面向对话、写作、编程和推理场景的AI大模型工具。

Atoms
Atoms Hot

Atoms是一款AI智能体工具,第一支自动构建真实业务的 AI 团队。

讯飞绘文

讯飞绘文是一款由科大讯飞推出的一站式 AIGC 内容运营平台。

豆包大模型

豆包大模型是一款由字节跳动推出的企业级大语言模型服务平台。

超级简历WonderCV

一款AI办公效率工具,主要用于免费求职简历模版下载制作,应届生职场人必备简历制作神器,适合需要提升相关任务效率的用户。

相关专题

更多
golang如何定义变量
golang如何定义变量

golang定义变量的方法:1、声明变量并赋予初始值“var age int =值”;2、声明变量但不赋初始值“var age int”;3、使用短变量声明“age :=值”等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

519

2024.02.23

golang有哪些数据转换方法
golang有哪些数据转换方法

golang数据转换方法:1、类型转换操作符;2、类型断言;3、字符串和数字之间的转换;4、JSON序列化和反序列化;5、使用标准库进行数据转换;6、使用第三方库进行数据转换;7、自定义数据转换函数。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

596

2024.02.23

golang常用库有哪些
golang常用库有哪些

golang常用库有:1、标准库;2、字符串处理库;3、网络库;4、加密库;5、压缩库;6、xml和json解析库;7、日期和时间库;8、数据库操作库;9、文件操作库;10、图像处理库。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1176

2024.02.23

golang和python的区别是什么
golang和python的区别是什么

golang和python的区别是:1、golang是一种编译型语言,而python是一种解释型语言;2、golang天生支持并发编程,而python对并发与并行的支持相对较弱等等。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

791

2024.03.05

golang是免费的吗
golang是免费的吗

golang是免费的。golang是google开发的一种静态强类型、编译型、并发型,并具有垃圾回收功能的开源编程语言,采用bsd开源协议。本专题为大家提供相关的文章、下载、课程内容,供大家免费下载体验。

1726

2024.05.21

golang结构体相关大全
golang结构体相关大全

本专题整合了golang结构体相关大全,想了解更多内容,请阅读专题下面的文章。

4894

2025.06.09

golang相关判断方法
golang相关判断方法

本专题整合了golang相关判断方法,想了解更详细的相关内容,请阅读下面的文章。

2254

2025.06.10

golang数组使用方法
golang数组使用方法

本专题整合了golang数组用法,想了解更多的相关内容,请阅读专题下面的文章。

4126

2025.06.17

Gradle插件开发入门教程
Gradle插件开发入门教程

本专题介绍Gradle插件开发的基本流程,涵盖插件类编写、自定义任务注册、扩展参数设计和插件应用方法,帮助你理解插件如何组织构建逻辑,减少多个项目之间的重复配置。

60

2026.10.22

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
Kubernetes官方教程手册
Kubernetes官方教程手册

共0课时 | 0人学习

Kubernetes官方中文文档
Kubernetes官方中文文档

共0课时 | 0人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2026 https://www.php.cn/ All Rights Reserved | php.cn