【问题标题】:Kubectl top delivers different results between node and podsKubectl top 在节点和 pod 之间提供不同的结果
【发布时间】:2021-02-23 00:40:46
【问题描述】:

我注意到top pods -A 命令声明的消耗资源量与top node 显示的资源量不匹配(旨在作为特定节点上 pod 的总和)。

具体来说,对于单个节点,我看到内存消耗大约有 1Gi 的差异,这对我来说是相当多的。 我还尝试直接从 metrics API 查询结果,这证实了差异。

有谁知道为什么以及怎么可能? top node 命令是否也用于不运行资源?如果有,为什么?

我的集群在 Azure AKS 托管实例上运行,我在 Linux 和 Windows 节点上都看到了同样的问题。

【问题讨论】:

    标签: kubernetes azure-aks


    【解决方案1】:

    kubectl top node:显示节点的资源(CPU/Memory/Storage)使用情况。

    基本上,预留一部分 CPU 和内存资源供 kubelet、kube-proxy 和容器引擎等底层节点组件使用。并且在第一次配置节点的时候预留那部分内存,然后那个节点根据需要把这些内存分配给pods或者k8s资源。

    您可以查看此doc 了解更多信息。

    【讨论】:

    • 在我满意的情况下,如果我看到的差异可以重新连接到“Total_Mem - Allocatable_Mem”,或者如果顶部节点命令将返回资源的不可分配部分,两者都不是就是这样。一般来说,我看到 top node 命令随着 pod 的数量而扩展,并且如果资源大约是可分配资源的 100%,则正确描述了降级状态
    猜你喜欢
    • 2022-10-31
    • 1970-01-01
    • 1970-01-01
    • 2021-05-13
    • 2020-10-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-03
    相关资源
    最近更新 更多