如何在 Kubernetes 集群级别查找可用资源?

kar*_*yan 12 kubernetes

我们是否有一个简单的命令可以通过它找到集群级别的可用资源?

可用的 CPU 和内存请求。

Pjo*_*erS 14

有几种方法可以实现这一目标。您没有提到您正在使用什么环境,但是metric server您的集群中可能已经有该环境。

1.Top命令

kubectl top pods或者kubectl top nodes。这样您就可以检查 Pod/节点的当前使用情况。您还可以将其缩小到namespace

2. 描述节点

如果您执行kubectl describe node,在输出中您将能够看到该节点的容量以及剩余的分配资源量。与......类似Pods

...
Capacity:
 attachable-volumes-gce-pd:  127
 cpu:                        1
 ephemeral-storage:          98868448Ki
 hugepages-2Mi:              0
 memory:                     3786684Ki
 pods:                       110
Allocatable:
 attachable-volumes-gce-pd:  127
 cpu:                        940m
 ephemeral-storage:          47093746742
 hugepages-2Mi:              0
 memory:                     2701244Ki
 pods:                       110
 ...
Run Code Online (Sandbox Code Playgroud)

3.普罗米修斯

如果您需要更详细的统计信息,我建议您使用Prometheus. 它将允许您创建节点/pod 的统计数据、生成警报等等。它还可能不仅提供 CPU 和内存指标,还custom.metrics可以创建所有Kubernetes对象的统计信息。

在这里可以找到许多有用的信息。


小智 5

这是一个非常有用的脚本来监控 kubernetes 资源

https://www.jeffgeerling.com/blog/2019/monitoring-kubernetes-cluster-utilization-and-capacity-poor-mans-way
Run Code Online (Sandbox Code Playgroud)

我建议使用普罗米修斯来获取此类指标