[英]Easily detect deprecated resources on Kubernetes
我們剛剛收到一封來自 GCP 的電子郵件,通知我們我們的集群目前正在使用已棄用的 Beta API,我們需要升級到最新的 API 版本。
我們有 3 個集群在多個命名空間中運行多個資源,因此通過 go 來檢測哪些已經過時會有點痛苦。
我們控制的那些,例如服務、部署、horizontalpodautoscaler、poddisruptionbudgets 等,這些已經更新了。
但是我們有很多服務的清單文件是自動生成的,比如 Halyard 生成的 Spinnaker 服務,或者 Elastic Operator 生成的 ElasticSearch 等。
有沒有辦法按 API 版本過濾所有資源,或者有什么方法可以檢測所有命名空間中已棄用的資源?
為了查看您的集群支持哪些 API
# Print out supported API's in the cluster
kubectl api-versions
要查看已棄用的 API,您可以使用此工具。
這正是您所要求的,它將使用已棄用的 API 打印資源列表。
https://github.com/doitintl/kube-no-trouble
# sample output from the official docs:
$./kubent
6:25PM INF >>> Kube No Trouble `kubent` <<<
6:25PM INF Initializing collectors and retrieving data
6:25PM INF Retrieved 103 resources from collector name=Cluster
6:25PM INF Retrieved 132 resources from collector name="Helm v2"
6:25PM INF Retrieved 0 resources from collector name="Helm v3"
6:25PM INF Loaded ruleset name=deprecated-1-16.rego
6:25PM INF Loaded ruleset name=deprecated-1-20.rego
_____________________________________________________________________
>>> 1.16 Deprecated APIs <<<
---------------------------------------------------------------------
KIND NAMESPACE NAME API_VERSION
Deployment default nginx-deployment-old apps/v1beta1
Deployment kube-system event-exporter-v0.2.5 apps/v1beta1
Deployment kube-system k8s-snapshots extensions/v1beta1
Deployment kube-system kube-dns extensions/v1beta1
_____________________________________________________________________
>>> 1.20 Deprecated APIs <<<
---------------------------------------------------------------------
KIND NAMESPACE NAME API_VERSION
Ingress default test-ingress extensions/v1beta1
kubent
# install `kubent`
sh -c "$(curl -sSL 'https://git.io/install-kubent')"
kubent
kubent
kdave 檢查集群中任何已棄用或刪除的 apiVersions,並以 Prometheus 指標格式導出它們。 它從已部署的 helm 版本中收集這些 apiVersions 它允許您具有可見性並回答這些問題
kdave https://github.com/wayfair-incubator/kdave和 k8s-used-api-versions https://github.com/wayfair-incubator/k8s-used-api-versions
https://www.linkedin.com/pulse/kubernetes-used-api-versions-operator-ahmed-elbakry/ https://www.linkedin.com/pulse/kubernetes-deprecated-api-versions-exporter-ahmed-埃爾巴克里/
有人用過kdave嗎? 使用他們的 cli 在本地運行時,我不斷收到錯誤
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.