LinuxKubernetes故障排查教程_Pod异常与网络问题
发布时间 - 2026-01-01 00:00:00 点击率:次Pod异常状态需分层排查:先用kubectl describe查看状态与Events,再查日志和exec调试,接着验证节点资源与调度约束,最后逐层检查CNI、DNS及Service网络连通性。
Pod 一直处于 Pending、CrashLoopBackOff 或 NotReady 状态,通常不是单一原因导致,而是资源、配置、镜像、节点或网络中某一个环节出了问题。快速定位的关键是分层检查:先看 Pod 自身状态和事件,再查容器日志,接着验证节点资源与调度约束,最后聚焦网络连通性与 CNI 插件行为。
看 Pod 状态和 Events 是第一反应
运行 kubectl describe pod ,重点关注两块内容:
-
Conditions:比如
Initialized=False可能是 Init 容器失败;Ready=False说明主容器没通过 readiness probe;ContainersReady=False表示至少一个容器未就绪 -
Events(最实用):常见提示如
FailedScheduling(资源不足/污点不匹配)、ImagePullBackOff(镜像名错/私有仓库没 secret)、FailedMount(PV/PVC 绑定失败或权限问题)
如果 Events 里出现 NodeAffinity 或 Taints 相关拒绝信息,要同步检查节点的 taint 和 Pod 的 toleration 配置是否匹配。
查容器日志和 exec 进去诊断
即使 Pod 处于 CrashLoopBackOff,只要它启动过,就能拿到上一次崩溃前的日志:
-
kubectl logs查上一轮容器输出-n --previous -
kubectl logs指定多容器中的某一个-n -c - 如果容器还能短暂运行,用
kubectl exec -it进入调试(注意:有些精简镜像不含 sh,可试 ash 或 /bin/bash)-n -- sh
进容器后优先检查:配置文件路径是否存在、环境变量是否注入正确、依赖服务 DNS 是否能解析(nslookup kubernetes.default.svc.cluster.local)、端口是否被占用(netstat -tuln)。
确认节点资源与调度是否正常
Pod 卡在 Pe
nding,大概率是调度器找不到合适节点。执行以下命令交叉验证:
-
kubectl get nodes -o wide看节点是否 Ready,资源(CPU/Mem)是否充足 -
kubectl top nodes查实时资源使用率(需 metrics-server 已部署) -
kubectl get events --sort-by=.lastTimestamp | tail -20找集群级调度失败事件 - 检查 Pod 的 resource requests 是否远超节点可用容量,或设置了 nodeSelector 但没有节点打对应 label
临时测试可删掉 resource request/limit 或修改 nodeSelector,看 Pod 是否能成功调度——这能帮你快速隔离是策略问题还是资源问题。
网络不通?从底层 CNI 到 Service 逐层验证
Pod 之间 ping 不通、无法访问 Service、DNS 解析失败,按这个顺序排查:
-
Pod IP 层通信:在源 Pod 中
ping。失败说明 CNI 插件未正确配置(如 calico/node 未运行、flannel 启动失败、kube-proxy 异常) -
DNS 解析:
nslookup kubernetes.default.svc.cluster.local。失败先查 CoreDNS Pod 是否 Running,再看其日志(kubectl logs -n kube-system deployment/coredns),并确认 kubelet 的--cluster-dns参数指向正确地址 -
Service 访问:用 ClusterIP + port curl,同时查
kubectl get endpoints确认后端 Pod 地址已同步;再查 iptables/ipvs 规则是否生成(kubectl get svc对比 endpoint IPs 是否一致)-o wide
如果所有 Pod 都无法访问外网,检查节点 host 上的 iptables FORWARD 链是否被 DROP,以及 CNI 插件是否配置了正确的 masquerade 规则。
# linux
# node
# 端口
# 后端
# curl
# ai
# proxy
# 环境变量
# dns
# 配置文件
# kubernetes
# 网络问题
# bash
# Resource
# sort
相关栏目:
【
网站优化151355 】
【
网络推广146373 】
【
网络技术251813 】
【
AI营销90571 】
相关推荐:
网站制作怎么样才能赚钱,用自己的电脑做服务器架设网站有什么利弊,能赚钱吗?
EditPlus中的正则表达式实战(6)
北京网站制作公司哪家好一点,北京租房网站有哪些?
网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?
Laravel如何实现图片防盗链功能_Laravel中间件验证Referer来源请求【方案】
如何在 React 中条件性地遍历数组并渲染元素
Laravel中DTO是什么概念_在Laravel项目中使用数据传输对象(DTO)
什么是JavaScript解构赋值_解构赋值有哪些实用技巧
Laravel如何集成微信支付SDK_Laravel使用yansongda-pay实现扫码支付【实战】
Laravel如何安装Breeze扩展包_Laravel用户注册登录功能快速实现【流程】
香港服务器网站卡顿?如何解决网络延迟与负载问题?
如何在阿里云域名上完成建站全流程?
Laravel中的Facade(门面)到底是什么原理
Laravel如何使用Collections进行数据处理?(实用方法示例)
Laravel如何实现多对多模型关联?(Eloquent教程)
北京网页设计制作网站有哪些,继续教育自动播放怎么设置?
怎么制作网站设计模板图片,有电商商品详情页面的免费模板素材网站推荐吗?
浅述节点的创建及常见功能的实现
如何用腾讯建站主机快速创建免费网站?
php在windows下怎么调试_phpwindows环境调试操作说明【操作】
如何用低价快速搭建高质量网站?
如何确认建站备案号应放置的具体位置?
Android实现代码画虚线边框背景效果
如何快速配置高效服务器建站软件?
iOS发送验证码倒计时应用
手机网站制作平台,手机靓号代理商怎么制作属于自己的手机靓号网站?
关于BootStrap modal 在IOS9中不能弹出的解决方法(IOS 9 bootstrap modal ios 9 noticework)
北京网站制作费用多少,建立一个公司网站的费用.有哪些部分,分别要多少钱?
ChatGPT回答中断怎么办 引导AI继续输出完整内容的方法
Laravel如何升级到最新版本?(升级指南和步骤)
如何在橙子建站中快速调整背景颜色?
中山网站推广排名,中山信息港登录入口?
Laravel如何记录自定义日志?(Log频道配置)
Laravel如何从数据库删除数据_Laravel destroy和delete方法区别
如何用IIS7快速搭建并优化网站站点?
长沙企业网站制作哪家好,长沙水业集团官方网站?
如何实现javascript表单验证_正则表达式有哪些实用技巧
如何在建站主机中优化服务器配置?
魔毅自助建站系统:模板定制与SEO优化一键生成指南
JavaScript如何实现类型判断_typeof和instanceof有什么区别
谷歌浏览器下载文件时中断怎么办 Google Chrome下载管理修复
微信小程序 闭包写法详细介绍
Laravel Fortify是什么,和Jetstream有什么关系
如何用已有域名快速搭建网站?
非常酷的网站设计制作软件,酷培ai教育官方网站?
linux top下的 minerd 木马清除方法
如何快速辨别茅台真假?关键步骤解析
Laravel怎么配置S3云存储驱动_Laravel集成阿里云OSS或AWS S3存储桶【教程】
Laravel如何处理和验证JSON类型的数据库字段
湖南网站制作公司,湖南上善若水科技有限公司做什么的?

