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

原因

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

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

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

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

排查过程

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

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

相关推荐
小宇的天下1 分钟前
Virtuoso 中的tech file 详细说明
java·服务器·前端
Mr. Cao code13 分钟前
Docker文件数据卷实战:挂载与优化
运维·docker·容器
Zoey的笔记本17 分钟前
「软件开发缺陷管理工具」的闭环追踪设计与自动化集成架构
java·服务器·前端
Sapphire~21 分钟前
【前端基础】04-XSS(跨站脚本攻击,Cross-Site Scripting)
前端·xss
奔跑的web.22 分钟前
Vue 3.6 重磅新特性:Vapor Mode 深度解析
前端·javascript·vue.js
MediaTea22 分钟前
Python OOP 设计思想 13:封装服务于演化
linux·服务器·前端·数据库·python
爱敲代码的婷婷婷.24 分钟前
patch-package 修改 node_modules流程以及注意点
前端·react native·前端框架·node.js
这是个栗子28 分钟前
【API封装参数传递】params 与 API 封装
开发语言·前端·javascript·data·params
大佐不会说日语~32 分钟前
Docker部署旧版本系统MySQL5.7+乱码问题解决方案
运维·docker·容器
凌栀茗36 分钟前
html第二天
前端·javascript·html