轻松检测 Kubernetes 上已弃用的资源

Mau*_*cio 12 kubernetes google-kubernetes-engine kube-apiserver

我们刚刚收到一封来自 GCP 的电子邮件,通知我们我们的集群目前正在使用已弃用的 Beta API,我们需要升级到最新的 API 版本。

我们有 3 个集群在多个命名空间中运行多个资源,因此必须遍历所有集群来检测哪些资源已过时会有点痛苦。

我们控制的服务、部署、horizo​​ntalpodautoscalers、poddisruptionbudgets 等,这些都已经更新了。

但我们有很多服务的清单文件是自动生成的,比如 Halyard 生成的 Spinnaker 服务,或者 Elastic Operator 生成的 ElasticSearch 等。

有什么方法可以按 API 版本过滤所有资源,或者有什么方法可以检测所有命名空间中已弃用的资源?

Cod*_*ard 30

查看您的集群支持哪些API

# Print out supported API's in the cluster
kubectl api-versions
Run Code Online (Sandbox Code Playgroud)

为了查看已弃用的API,您可以使用此工具。
这正是您所要求的,它将使用已弃用的 API 打印资源列表。

https://github.com/doitintl/kube-no-trouble

# Print out supported API's in the cluster
kubectl api-versions
Run Code Online (Sandbox Code Playgroud)

安装中kubent

# install `kubent`
sh -c "$(curl -sSL 'https://git.io/install-kubent')"
Run Code Online (Sandbox Code Playgroud)

跑步kubent

kubent
Run Code Online (Sandbox Code Playgroud)

在此输入图像描述


其他类似工具:

  • 哇,我从来没有想过有这么完美的解决方案!太感谢了。 (2认同)