背景:k8s 的版本迭代很快,虽然主要版本一直没有变化,但是次要版本一直在迭代,2022年一年就发布了三个次要版本,同时不同的次要版本之间 API 资源一直在变化,有新加入的,也有废弃删除的。不同版本的 api 资源版本也有不同,往往不是向下兼容的,比如在低版本中 API 资源版本为 v1beta1,而高版本可能升级为 v1。但是在高版本中不能运行低版本的API资源。
所以在 k8s 版本升级的时候,需要对之前废弃的和删除的 API 资源 做出清理,需要升级的做升级,或者替换为其他的 API 资源。 在这之前,需要一个工具来检查 API 资源对象,那些事已经废弃的,那些将要废弃。
Kubepug 即是这样一个工具,一个升级前检查器,可帮助在迁移到新的主要版本之前在 Kubernetes 资源中找到已弃用和已删除的 API
1、kubepug 安装
wget https://github.com/rikatz/kubepug/releases/download/v1.4.0/kubepug_linux_amd64.tar.gz
2、配置为 kubectl 插件
tar -zxvf kubepug_linux_amd64.tar.gz
mv kubepug kubectl-kubepug
mv ./kubectl-kubepug /usr/local/bin/
3、查看版本测试
kubectl kubepug version
4、获取集群当前 API 状态
kubectl kubepug --k8s-version=v1.21.1
如果链接不上,会报上面的错误,可以把 对应的 swagger 文件下载下来上传。然后在检查的时候指定 swagger 文件目录
curl -o swagger-v1.21.1.json https://raw.githubusercontent.com/kubernetes/kubernetes/v1.21.1/api/openapi-spec/swagger.json
通过 --swagger-dir= 指定 对应的 swagger 文件位置,--k8s-version=v1.21.1 指定要检测的版本
mkdir -p /home/check_k8s
mv swagger-v1.21.1.json /home/check_k8s
再次检查:kubectl kubepug --k8s-version=v1.21.1 --swagger-dir=./home/check_k8s
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 阿里最新开源QwQ-32B,效果媲美deepseek-r1满血版,部署成本又又又降低了!
· 开源Multi-agent AI智能体框架aevatar.ai,欢迎大家贡献代码
· Manus重磅发布:全球首款通用AI代理技术深度解析与实战指南
· 被坑几百块钱后,我竟然真的恢复了删除的微信聊天记录!
· AI技术革命,工作效率10个最佳AI工具