升级前用 kubent 找弃用 API
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md,安装 @user_3c6cb52e/find-deprecated-kubernetes-apis-before-cluster-upgrades-with-kubent。
技能介绍
要解决的问题
Kubernetes 版本迭代快,很多 API 会被标记为弃用、版本降级,或在某个大版本里彻底移除。当你准备把集群升级到新版本时,如果清单或正在运行的工作负载还在用这些 API,升级后很可能出现 No matches for kind、资源无法创建、控制器报错甚至工作负载宕机的情况。
更麻烦的是,这些问题往往在升级后才暴露,原本计划好的升级窗口会直接变成故障处理窗口。提前逐个排查 manifest 和集群里的实际资源非常耗时,尤其是仓库多、历史包袱重的环境。
技能如何工作
这个技能以 kubent 为核心,把“升级前兼容性检查”拆成可执行的步骤:
- 扫描来源:既支持本地 manifest 文件或目录,也支持已运行集群中的资源,避免只看静态文件而漏掉集群里动态写入的 CR。
- 识别弃用 API:按上游
kube-no-trouble项目的规则,列出已被移除或已弃用的 API,并给出对应信息,方便你定位需要修改的位置。 - 围绕升级目标分析:需要提供目标 Kubernetes 版本上下文,让检查结果更贴近你真正要升级到的版本,而不是泛泛地报所有历史问题。
适用边界与注意点
适合在集群升级计划阶段、CI 预检或大型 manifest 仓库迁移前使用,目标是提前发现“升级后会爆”的 API 调用。
使用时需要满足几个前提:准备 kubent 可执行文件,能访问目标 manifest 或集群,并明确目标 Kubernetes 版本上下文。它主要解决 API 兼容性问题,不会自动改写清单,也不会覆盖应用本身的架构风险;上游文档中还提到 Docker 镜像等使用方式和注意事项,具体以 kube-no-trouble 官方说明为准。
使用场景
- 集群计划升级到新版Kubernetes前,需要提前扫描现有manifests,找出会被移除的废弃API并安排重构。
- 维护多个历史遗留的Kubernetes仓库时,需要在CI流水线中集成检查,防止合入包含已弃用API的代码。
- 准备将生产环境迁移到新集群版本时,需要对比当前运行中集群的实际CRD,排查动态创建的废弃API资源。
适合人员
- Kubernetes平台工程师,需要在集群升级前排查所有工作负载的API兼容性,避免升级导致业务中断。
- 基础设施DevOps负责人,需要在CI/CD流程中加入自动化检测,确保新合入的代码不使用已废弃的K8s API。
- 云原生应用开发者,需要在编写或重构微服务manifests时,确认所使用的资源API在目标K8s版本中仍然有效。