代码发布后,线上页面没有变化——原来是 pod pending

原因

当创建 pod 后,pod 会被快速分配给有足够资源来运行它的节点。

而导致集群无法分配 pod 的其中一个原因是,Node 节点为不可调度状态,这可能是节点压力或人为节点封锁导致的。会阻止在节点上调度新的 pod,节点上现有的 pod 不受影响。

当只有一个 Node 节点可用,且不可调度时,便会出现代码发布后,部署成功,但线上页面没有变化。需要 cue 运维人员。

SchedulingDisabled 表示 Node 节点处于不可调度状态,此时 pod 为 pending 状态

排查过程

需求是新页面开发,以为是自己 nginx 没配置好,导致的 404 问题。直到在正常页面上修改几个字符,发布后,仍是没变化。猜测是不是 k8s 缓存问题。于是乎,把 pod 给删了, 503 崩了,重新发布,也无法恢复正常。这时候找了运维,才知道是节点不可调度的缘故导致。

其实,当几次代码修改无效后,要早点想到是 k8s 集群问题,这样可以节省没必要的时间浪费。

相关推荐
程序员黑豆5 小时前
Java类型推断完全指南:从var到菱形运算符,掌握使用限制与最佳实践
java·前端·ai编程
To_OC5 小时前
踩了个 TS 的坑之后,我终于把 type 和 interface 掰明白了
前端·react.js·typescript
GreenTea5 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
浮生望6 小时前
前端API工程化:用 Mock 数据与 Axios 配置实现独立于后端的并行开发
前端
万少6 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
波波0076 小时前
C# 15 重磅新特性: 带标签 break 与 continue:重新定义嵌套循环控制流
服务器·前端·c#
Brown.alexis7 小时前
es6知识点1-自备使用
前端·ecmascript·es6
heimeiyingwang8 小时前
【架构实战】Kubernetes存储实战:从EmptyDir到Ceph CSI的持久化存储选型指南
ceph·架构·kubernetes
小爬的老粉丝8 小时前
JavaScript 纯前端预览 WPS:先识别容器,再路由解析器
前端·javascript·wps
QX_hao8 小时前
【Kubernetes】 的三个Probe
容器·kubernetes