【问题标题】:How to dump the resource (CPU, memory) usage per namespace in k8s?如何在 k8s 中转储每个命名空间的资源(CPU、内存)使用情况?
【发布时间】:2019-06-17 16:33:30
【问题描述】:

我有一个在同一个 k8s 集群下创建的命名空间列表,我想了解每个命名空间的资源(CPU、内存)使用情况。有什么可以使用的命令吗?

【问题讨论】:

    标签: kubernetes kubectl


    【解决方案1】:

    是的。你可以使用

    $ kubectl -n <nampespace> top pod
    

    例如:

    $ kubectl top pod -n kube-system
    NAME                                                                 CPU(cores)   MEMORY(bytes)
    calico-node-xxxxx                                                    17m          166Mi
    coredns-xxxxxxxxxx-xxxxx                                             2m           11Mi
    coredns-xxxxxxxxxx-xxxxx                                             3m           11Mi
    etcd-ip-x-x-x-x.us-west-2.compute.internal                           19m          149Mi
    kube-apiserver-ip-x-x-x-x.us-west-2.compute.internal                 39m          754Mi
    kube-controller-manager-ip-x-x-x-x.us-west-2.compute.internal        20m          138Mi
    kube-proxy-xxxxx                                                     5m           12Mi
    kube-scheduler-ip-x-x-x-x.us-west-2.compute.internal                 6m           17Mi
    metrics-server-xxxxxxxxxx-xxxxx                                      0m           15Mi
    

    如果您想要总计,则需要将 CPU 和 MEMORY 列上的所有条目相加。

    请注意,要使kubectl top 正常工作,您需要正确设置和配置metrics-server。 (旧集群使用heapster

    【讨论】:

      【解决方案2】:

      感谢 Rico,答案很好,但只是作为补充:

      您可以指定资源配额,然后按照指定的here 查看它们。 除此之外,还有像 Prometheus 这样的外部监控工具。此外,还有一个Resource Explorer 可以:

      显示来自 StackDriver 的历史统计资源使用情况。

      https://github.com/kubernetes/kubernetes/issues/55046

      列出集群中 pod 的资源 QoS 分配。灵感来源:

      https://github.com/kubernetes/kubernetes/issues/1751

      该案例仍在GitHub 上开放,但似乎最终应该会有一些变化,因为其中一位贡献者表示计划删除kubectl top 并使用一些本地解决方案,所以我建议关注这个线程。

      【讨论】:

        【解决方案3】:

        编写一个 shell 脚本来获取集群中的所有命名空间。遍历每个命名空间。运行 kubectl top pod。 将命名空间中所有 pod 的 CPU 和内存相加。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2019-08-15
          • 2019-08-17
          • 2019-07-18
          • 1970-01-01
          • 2020-02-10
          • 2021-09-02
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多