如何在 Kubernetes (kubelet flags/configuration) 中获取节点资源 reserved/capacity?

How to get node resource reserved/capacity in Kubernetes (kubelet flags/configuration)?

有一篇文档文章here解释了如何在节点上保留资源供系统使用。

我没弄清楚的是如何获得这些值?如果我理解正确,kubectl top nodes 将 return 可用资源,但我也希望看到 kube-reservedsystem-reservedeviction-threshold

可能吗?

通过检查 kubelet 的标志,我们可以得到 kube-reserved、system-reserved 和 eviction-threshold 的值。

ssh 进入 $NODEps aufx | grep kubelet 将列出 运行 kubelet 及其标志。

kube-reserved 和 system-reserved 值仅对调度有用,因为调度程序可以看到可分配的资源。

要在登录主节点后查看 eviction-threshold(evictionHard 或 systemReserved),首先使用以下命令在后台启动 kubectl 代理:

kubectl proxy --port=8001 &

之后 运行 执行以下命令查看您想要的节点配置(将您的节点名称替换为 variable.eg VAR="worker-2")

VAR="NODE_NAME"; curl -sSL "http://localhost:8001/api/v1/nodes/$VAR/proxy/configz"

您应该看到如下结果:

"evictionHard":{"imagefs.available":"15%","memory.available":"100Mi","nodefs.available":"10%","nodefs.inodesFree":"5%"},

"systemReserved":{"cpu":"600m","memory":"0.5Gi"}

尽情享受 ;)