查看pod资源消耗

Check pod resources consumption

我在基本的 k8s 集群上进行了一些部署,但没有定义请求和限制。 有什么方法可以检查 pod 需要多少内存和 cpu?

根据您的集群中是否安装了metrics-server,您可以使用:

kubectl top pod
kubectl top node

安装 Metrics Server, you can query the Resource Metrics API 后直接用于 pods 和节点的资源使用:

  • 集群中的所有节点:
    • kubectl get --raw=/apis/metrics.k8s.io/v1beta1/nodes
  • 特定节点:
    • kubectl get --raw=/apis/metrics.k8s.io/v1beta1/nodes/{node}
  • 集群中的所有pods:
    • kubectl get --raw=/apis/metrics.k8s.io/v1beta1/pods
  • 所有 pods 在特定命名空间中:
    • kubectl get --raw=/apis/metrics.k8s.io/v1beta1/namespaces/{namespace}/pods
  • 一个特定的广告连播:
    • kubectl get --raw=/apis/metrics.k8s.io/v1beta1/namespaces/{namespace}/pods/{pod}

API returns 你绝对 CPU 和 pods 和节点的内存使用情况。

由此,您应该能够计算出每个 pod 消耗了多少资源以及每个节点上还剩下多少空闲资源。