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

原因

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

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

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

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

排查过程

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

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

相关推荐
hexu_blog2 分钟前
前端vue 后端springboot如何实现图片去水印
前端·javascript·vue.js
whuhewei5 分钟前
React搜索框组件
前端·javascript·react.js
姓王者11 分钟前
Cloudflare Pages自定义依赖安装实践 | 姓王者的博客
前端
杂家14 分钟前
Docker 容器端口无法从外部访问
运维·服务器·docker·容器
stringwu16 分钟前
Flutter 开发的 AI 三件套:壮汉、法师、实习生
前端
代码搬运媛19 分钟前
BFF 架构浅析:再也不用求后端改接口了
前端
ZC跨境爬虫21 分钟前
跟着 MDN 学 HTML day_50:(深入理解 DOM 中的 Text 节点)
前端·javascript·microsoft·ui·html·媒体
ZC跨境爬虫21 分钟前
跟着 MDN 学 HTML day_51:(深入理解 XPathEvaluator 接口)
前端·javascript·ui·html·音视频
wjykp27 分钟前
5.cypher语句组合与复杂操作
linux·前端·javascript
其实防守也摸鱼27 分钟前
[特殊字符] Docker + LMArena2API 部署全流程:从环境准备到接口调用,一步到位
运维·网络·安全·web安全·docker·容器·大模型