V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
mahone3297
V2EX  ›  Kubernetes

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

  •  
  •   mahone3297 · 2022-03-22 11:27:40 +08:00 · 1527 次点击
    这是一个创建于 1010 天前的主题,其中的信息可能已经有所发展或是发生改变。

    我在 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 的版本,到底是什么?

    5 条回复    2022-03-23 11:40:41 +08:00
    Shakeitin
        1
    Shakeitin  
       2022-03-22 16:02:12 +08:00   ❤️ 1
    你不需要知道

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

    ref: https://kubernetes.io/zh/docs/concepts/overview/kubernetes-api/#api-groups-and-versioning
    mahone3297
        2
    mahone3297  
    OP
       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
        3
    Shakeitin  
       2022-03-22 19:26:44 +08:00
    @mahone3297 #2

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

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

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

    所以 v2 版本仍然会对 v1 做一定兼容
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1074 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 23ms · UTC 19:19 · PVG 03:19 · LAX 11:19 · JFK 14:19
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.