Kubernetes安装后核心组件状态异常的排查思路

陌静吖_2080

陌静吖_2080

2026-09-05

284人浏览

原创

优先检查 kube-system 命名空间下 pod 的 ready 状态和 events,执行 kubectl get pods -n kube-system 查看是否全为 running 且 ready 列匹配副本数(如 1/1),再用 kubectl describe pod 定位 events 中的 failedscheduling、镜像拉取失败等关键错误,90% 异常可直接定位。

kubernetes安装后核心组件状态异常的排查思路

安装后核心组件状态异常,优先检查 kube-system 命名空间下 Pod 的 READY 状态和 Events,90% 的问题能直接从 kubectl get pods -n kube-system 和 kubectl describe pod 输出中定位。

查看 kube-system 下所有 Pod 是否就绪

刚装完集群,kube-apiserver、kube-controller-manager、kube-scheduler、coredns、calico-node(或 flannel)这些 Pod 必须全部处于 Running 且 READY 列为 1/1(或对应副本数)。任何非 1/1 或 Pending/CrashLoopBackOff 都是明确信号。

执行命令:

kubectl get pods -n kube-system

常见误判点:

  • coredns 显示 0/1:不是 DNS 没起,而是它依赖网络插件(如 Calico)先就绪;先看 calico-node 状态
  • calico-node 卡在 Init:0/3:说明 InitContainer 失败,必须用 kubectl describe pod 查 Events 和 Init Container 日志
  • kube-scheduler 一直是 Pending:大概率是节点没打标签(比如缺失 node-role.kubernetes.io/control-plane=),或被污点阻塞

用 describe 定位具体失败原因

kubectl describe pod 是最高效的根因入口,尤其关注输出末尾的 Events 区域——它不撒谎,直接告诉你“为什么没起来”。

例如:

Kubernetes Network Policy Generator
Kubernetes Network Policy Generator

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

下载
kubectl describe pod calico-node-abc12 -n kube-system

重点关注以下几类事件:

  • FailedScheduling:调度器找不到匹配节点,检查节点 taints、labels、资源是否满足 resources.requests
  • Failed to pull image:镜像拉取失败,确认镜像名拼写、私有仓库 Secret 是否挂载、节点能否访问镜像仓库(如 quay.io 或 k8s.gcr.io)
  • Back-off restarting failed container:容器启动即退出,立刻用 kubectl logs 查日志,加 --previous 看上一次崩溃输出
  • MountVolume.SetUp failed:通常是 hostPath 路径不存在,或 configmap/secret 名字写错、未创建

跳过 kubectl 直接查节点本地组件状态

当 kubectl 本身不可用(比如 kube-apiserver 挂了),或 Pod 状态显示正常但集群无响应时,必须登录控制平面节点,绕过 API 直查底层服务。

依次执行:

  • systemctl status kubelet:如果 inactive (dead),整个节点已脱离集群;若报 certificate has expired,说明证书过期(kubeadm 默认一年)
  • docker ps -a | grep -E "(apiserver|controller-manager|scheduler)"(或 crictl ps -a):确认容器进程是否真在运行,状态是否为 Exited
  • journalctl -u kubelet -n 100 --no-pager:查最近 100 行 kubelet 日志,重点找 failed to load KubeConfig、connection refused、etcd server 连接失败等关键词
  • netstat -tlnp | grep :6443:验证 kube-apiserver 是否真监听了 6443 端口;若无输出,说明进程根本没起来

etcd 连接失败是最隐蔽的根因

很多组件(尤其是 kube-apiserver)启动后立即退出,日志里只有一句 context deadline exceeded 或 connection refused,但 etcd Pod 显示 Running ——这往往是因为 etcd 集群成员配置错误或网络不通,导致 apiserver 无法完成初始化。

验证方式:

  • 进到 etcd 容器里(或用 etcdctl)执行:etcdctl --endpoints=https://127.0.0.1:2379 --cacert=/etc/kubernetes/pki/etcd/ca.crt --cert=/etc/kubernetes/pki/etcd/server.crt --key=/etc/kubernetes/pki/etcd/server.key endpoint health
  • 若返回 unhealthy,检查 /etc/kubernetes/manifests/etcd.yaml 中的 --initial-cluster 是否包含所有成员,IP 是否可路由,防火墙是否放行 2379/2380 端口
  • 注意:kubeadm 初始化时若指定 --pod-network-cidr 与节点实际网段冲突,会导致 etcd 成员间通信失败,但不会报明显错误

证书、etcd 成员列表、CNI 插件初始化顺序——这三个地方出问题,现象都类似“组件起不来”,但修复路径完全不同。别只盯着 Pod 状态,得一层层拆开看。

相关文章

PHP速学视频免费教程(入门到精通)
PHP速学视频免费教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载

本站声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

相关专题

更多
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务
Golang云原生微服务Kubernetes_Golang怎么集成Kubernetes开发云原生服务

Golang云原生微服务Kubernetes (K8s) 是指 使用 Go 语言(Golang)编写的云原生微服务,并利用 Kubernetes 平台进行容器化部署、自动化管理、弹性伸缩和高效编排的一整套现代应用架构方案。

2025.12.22

116

5

Go云原生应用与Kubernetes服务部署实战
Go云原生应用与Kubernetes服务部署实战

本专题围绕 Go 语言在云原生环境中的应用展开,讲解容器化部署、Kubernetes 编排、服务发现、健康检查与弹性扩缩容机制。通过真实云端案例,帮助开发者构建可扩展的云原生微服务架构。

2026.06.29

168

19

FrankenPHP集成Laravel详细教程
FrankenPHP集成Laravel详细教程

本专题提供FrankenPHP集成Laravel的详细配置指南,全面解析运行原理、开发环境搭建、Caddyfile配置、Octane工作模式、数据库连接、队列任务、定时任务和生产环境优化,解决部署过程中常见的报错与兼容性问题。

2026.10.08

0

20

LLVM自定义Pass怎么写
LLVM自定义Pass怎么写

本专题聚焦LLVM自定义Pass开发,整理Pass类结构、run()方法、PreservedAnalyses、CMake构建、插件注册、-load-pass-plugin加载和测试用例编写流程。

2026.09.30

120

10

LLVM RISC-V参数配置教程
LLVM RISC-V参数配置教程

本专题介绍LLVM对RISC-V基础ISA和扩展的支持方式,涵盖RV32、RV64、标准扩展、实验性扩展、厂商扩展、-menable-experimental-extensions和版本差异。

2026.09.30

100

14

LLVM IR中间表示入门指南
LLVM IR中间表示入门指南

本专题整理LLVM IR的核心概念,包括中间表示作用、模块结构、函数、基本块、SSA形式、类型系统和常见语法,帮助新手理解LLVM编译流程中的关键层。

2026.09.30

80

12

PDF转图片方法
PDF转图片方法

需要把 PDF 页面用于上传、预览、分享或图片归档时,PDF 转图片方法专题整理 JPG/PNG 格式选择、逐页导出、清晰度设置、批量下载和结果检查等流程,帮助用户稳定完成 PDF 图片化处理。

2026.09.30

80

26

PixTV AI视频生成与无限画布创作
PixTV AI视频生成与无限画布创作

PixTV专题整理AI视频与视觉内容创作相关功能使用教程,涵盖AI生图、视频生成、无限画布、多模型创作、素材管理、声音音乐及视频剪辑等功能,帮助用户快速掌握PixTV从创意到成片的完整制作方法。

2026.09.29

100

15

Buffalo框架数据库开发全教程
Buffalo框架数据库开发全教程

本专题围绕Buffalo框架数据库开发,讲解database.yml多环境配置、soda与fizz迁移生成回滚、模型结构体标签、增删改查与条件查询、一对多与多对多关联、数据校验、回调钩子、事务处理及原生SQL执行能力。

2026.09.23

300

15

热门下载

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

精品课程

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

共0课时 | 0人学习

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

共0课时 | 0人学习