背景: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
标签:kubectl,插件,swagger,版本,检查,API,kubepug,k8s From: https://www.cnblogs.com/zbhlinux/p/17890733.html