【问题标题】:How to get node resource reserved/capacity in Kubernetes (kubelet flags/configuration)?如何在 Kubernetes 中获取节点资源预留/容量(kubelet 标志/配置)?
【发布时间】:2019-11-26 01:26:33
【问题描述】:

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

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

有可能吗?

【问题讨论】:

  • 你好,在Capacity and Allocatable部分查看节点状态kubectl describe nodes $NODE_NAME,同时查看kubelet的flags
  • 我确实在其中看到了容量和可分配,但它没有提供更多信息。如何查看 kubelet 的 flags?
  • 我还会检查 kubelet 是否使用配置文件或标志,这取决于 kubernetes 版本,但这里是链接kubernetes.io/docs/tasks/administer-cluster/kubelet-config-file
  • 我已经 sshed 到节点,但不知道应该调用 kubelet 上的哪些命令
  • 如果你有 sshd ,然后运行 ​​ps aufx | grep kubelet

标签: kubernetes azure-aks


【解决方案1】:

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

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

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

【讨论】:

    【解决方案2】:

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

    kubectl proxy --port=8001 &
    

    之后运行以下命令以查看您想要的节点配置(在变量中替换您的节点名称。例如 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"}

    享受;)

    【讨论】:

      猜你喜欢
      • 2020-11-28
      • 1970-01-01
      • 2018-03-14
      • 2019-01-01
      • 2020-03-24
      • 1970-01-01
      • 2016-03-10
      • 2021-10-01
      • 2021-03-22
      相关资源
      最近更新 更多