[k8s HPA] 如何查看线上跑的 hpa 的 apiVersion 到底是什么?

2022-03-22 11:27:40 +08:00
 mahone3297

我在 helm chart 中指定 apiversion autoscaling/v2beta1

但在线上跑 kubectl get hpa 时,显示的是 autoscaling/v1

貌似,还能这样跑 kubectl get hpa.v2beta1.autoscaling 这时候显示的 apiversion 就是 autoscaling/v2beta1 。这句话的意思,应该是以 hpa.v2beta1.autoscaling 这个版本,去解析 hpa

其实,我也能在 helm chart 中指定 apiversion autoscaling/v1

然后,分别用 kubectl get hpakubectl get hpa.v2beta1.autoscaling 去执行,显示不同的版本。

我的问题是,在只能访问集群,不能看原有 helm chart 的时候,我如何知道,我线上跑的 hpa 的版本,到底是什么?

1306 次点击
所在节点    Kubernetes
5 条回复
Shakeitin
2022-03-22 16:02:12 +08:00
你不需要知道

在 apiserver 里的内部逻辑里,所有版本将被统一,所谓的 version 只是同一个资源对外的不同表现形式

ref: https://kubernetes.io/zh/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
mahone3297
2022-03-22 16:39:41 +08:00
@Shakeitin 比如,v1 只有 cpu ,v2 可以有 cpu 和 memory ,我其实是想知道,我的 hpa 的逻辑,所以还是想看 hpa 的 yaml 。但是默认 get 看到的是 v1 ,只有 cpu 。实际上,我的 yaml 中是 v2 ,有 cpu/memory
Shakeitin
2022-03-22 19:26:44 +08:00
@mahone3297 #2

以最高版本为准就好,毕竟 server 里其实只有一份跨版本的数据,用 v1 版本查看相当于强行降级了
mahone3297
2022-03-23 11:06:33 +08:00
@Shakeitin 不对吧

假如 v1 有 a,b,c 功能
v2 有 b,c,d 功能

我以 v1 的版本提交
然后按你说的,以最高版本 v2 看,a 功能就漏掉了
Shakeitin
2022-03-23 11:40:41 +08:00
@mahone3297 #4

所以 v2 版本仍然会对 v1 做一定兼容

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/842055

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX