kubectl top 是 Kubernetes 中的一个命令,用于显示集群中节点和 pod 的资源使用指标。该命令对于监控应用程序的性能和资源消耗至关重要。


以下命令将显示特定命名空间中所有 pod 的当前资源使用情况。

【代码清单】

kubectl top pods -n <namespace>

【执行结果】

NAME           CPU(cores)  MEMORY(bytes)
nginx-6c5d7c8d6d-2k5x7  50m     128Mi
mysql-5dbb8c7c8d-4j7q2  100m     256Mi

kubectl top pods 命令可提供指定命名空间中每个 pod 的 CPU 和内存使用情况快照。输出包括

NAME(名称): pod 的名称。

CPU(内核): pod 当前使用的 CPU 数量,单位为内核(毫核)。

MEMORY(字节): pod 当前使用的内存量,单位为字节。

该命令对于识别资源瓶颈和确保应用程序高效运行特别有用。通过监控资源使用情况,您可以就扩展应用程序或优化资源分配做出明智的决策。

【小知识】

kubectl top 命令要求在集群中安装 Metrics Server。Metrics Server 会从 Kubelet 收集资源指标,并通过 Kubernetes API 公开这些指标。

你还可以使用 kubectl top nodes 查看集群中每个节点的资源使用情况,这有助于监控集群的整体健康状况。