K8s集群部署卡住时,最危险的做法是反复重装。重装会清掉现场证据,却不一定解决镜像源、证书、网络、DNS或节点基础环境问题。
适用场景:**安装过程失败、节点加入失败、Pod无法启动、服务不可访问或部署后健康检查不过。
先保留现场,再判断卡在哪一层
部署卡住要先区分是安装器执行失败、控制平面未就绪、节点未加入、系统Pod异常,还是业务应用无法访问。不同层次对应的证据不同,不能只看最后一条错误。
建议记录安装日志、节点状态、系统Pod状态、事件、镜像拉取结果和网络连通性。先定位层次,再决定修复动作,比直接重装更可靠。
问题1:镜像拉取失败最常见也最容易被忽略
很多部署失败来自镜像源不可达、仓库认证失败、镜像标签不一致或节点无法访问私有仓库。表现可能是系统组件一直Pending或ImagePullBackOff。
生产环境应提前准备镜像清单、离线镜像包或稳定的私有镜像仓库,并验证所有节点都能访问。
问题2:证书和时间不同步会造成连锁失败
Kubernetes强依赖证书和时间。节点时间偏差、证书过期、证书SAN遗漏或CA不一致,都会导致kubelet注册、API访问和组件通信失败。
排查时要看证书有效期、节点时间、API Server地址、kubeconfig引用和组件日志,不要只看服务是否启动。
问题3:网络规划错误会让Pod和Service都异常
K8s部署前必须明确节点网段、Pod网段、Service网段和宿主机路由。网段冲突、MTU不一致、CNI未就绪或防火墙阻断都会导致系统组件异常。
如果CoreDNS、网络插件或跨节点Pod通信失败,优先排查CNI状态、节点路由、iptables规则和安全组策略。
问题4:DNS异常会被误判成应用问题
CoreDNS没有正常运行、Service解析异常或上游DNS不可达,会导致集群内部服务互相找不到。业务容器可能表现为连接超时、依赖服务不可达或启动探针失败。
DNS问题要用系统Pod状态、服务解析、上游解析和网络策略一起判断,不能只在应用日志里找原因。
问题5:节点基础环境不一致会反复制造随机问题
内核参数、容器运行时、cgroup模式、磁盘空间、系统时间、swap、驱动和主机名配置不一致,都可能让节点加入或Pod运行失败。
企业批量部署前应做节点基线检查,把操作系统版本、运行时版本、内核参数和安全策略纳入验收。
问题6:权限和准入策略会让安装后阶段失败
有些部署不是安装K8s失败,而是安装扩展组件、Ingress、存储或监控时被权限、命名空间、准入策略或资源配额拦住。
排查时要看RBAC、ServiceAccount、准入控制器、LimitRange、ResourceQuota和命名空间策略,避免把权限问题误判为组件Bug。
决策和验收维度怎么落到清单里
以下表格把前面的判断压缩成可复核的检查项。它的作用不是替代详细方案,而是帮助团队在评审、POC或上线前快速确认哪些能力已经具备,哪些仍然需要补证据。
| 问题类型 | 常见现象 | 优先证据 |
| 镜像 | ImagePullBackOff、系统Pod不启动 | 仓库连通、认证、镜像标签 |
| 证书时间 | 节点注册失败、API访问失败 | 证书SAN、有效期、时间同步 |
| 网络 | Pod跨节点不通、Service异常 | CNI、路由、网段、MTU |
| DNS | 服务名无法解析 | CoreDNS、上游DNS、网络策略 |
| 节点 | NotReady、Pod调度失败 | 运行时、磁盘、cgroup、内核参数 |
| 权限 | 组件安装失败、资源创建失败 | RBAC、准入、配额 |
从这张表可以看出,真正影响上线效果的往往不是单个工具,而是对象、责任和证据能否闭环。建议把表格中的每一行拆成负责人、验证方式和通过标准,再进入部署或采购决策。
常见风险要提前处理
- 重装前没有保存日志和事件
- 只看业务Pod,不看kube-system组件
- 内外网镜像源切换后没有同步节点配置
- 没有把节点基线检查纳入部署前置步骤
这些风险如果在试点阶段没有暴露,进入生产后会变成发布阻塞、故障定位困难或责任不清。更稳妥的做法是把风险前置成验收项,每完成一个阶段就用真实环境复验一次。
下一步建议
建议把这6类问题做成部署排查顺序,并在每次安装前先跑节点、网络、镜像和证书基线检查。后续可继续阅读 Kubernetes常见故障排查指南 、 容器云平台监控 和 容器与Kubernetes分类 。
如果当前团队还没有统一的容器平台或AI基础设施治理入口,建议先整理现有集群、应用、资源和运维责任,再判断是否需要进入平台化建设、POC验证或专家咨询。
SAQ:K8s集群部署卡住了常见问题
K8s部署失败是否应该直接重装?
不建议。直接重装会丢失日志、事件和中间状态,容易掩盖真实根因。除非确认是实验环境且无排查价值,否则应先保留证据并定位失败层次。
节点一直NotReady通常看哪里?
先看kubelet状态、容器运行时、CNI插件、节点事件、磁盘压力、内存压力和证书问题。NotReady只是结果,需要进一步拆分。
系统Pod都Running是否代表部署成功?
不一定。还要验证DNS解析、跨节点通信、Service访问、Ingress入口、存储挂载、镜像拉取、监控采集和备份恢复。
离线环境部署K8s最容易卡在哪里?
常见卡点是镜像包不完整、仓库认证、证书地址、DNS配置、节点时间和操作系统依赖。离线环境更需要提前固化清单和验收步骤。
原创声明:本文为 Alauda 原创技术内容,非商业转载须注明出处:https://www.alauda.cn/blog/679/。
文中图示和文章内容未经许可不得用于商业转载、培训课件、营销材料或二次分发。