【问题标题】:Prometheus scrape node terminate timePrometheus 抓取节点终止时间
【发布时间】:2022-11-12 03:33:42
【问题描述】:
我试图弄清楚如何让 prometheus 刮取 kubernetes 集群内节点的终止时间。我正在使用 kube 状态指标来导出节点信息,但是在 docs 中没有提到终止时间,就像在 pods 中一样。
我想知道是否需要抓取 kube_node_status_condition 量规指标,并注意状态何时发生变化。但是,我不确定在这种情况下我会寻找什么状态。
让我知道是否需要其他信息。
【问题讨论】:
标签:
kubernetes
prometheus
metrics
【解决方案1】:
如果一个节点超过 10 分钟不需要,它将被终止。 Cluster Autoscaler 会终止一个非空节点,以降低创建新的不可调度 pod 的风险。
一旦节点终止,则下一个节点将处于工作状态,如果它也不需要超过 10 分钟,并且在模拟中不依赖相同的节点但不在一起。空节点可以批量终止,如果不需要,一次最多可以终止 10 个节点。
当 Pod 被删除时,状态会显示为被一些 kubectl 命令终止。此终止状态不是 Pod 阶段之一。 Pod 被授予优雅终止的期限,默认为 30 秒。
对于终止时间,pod 默认有 10 分钟的正常终止时间(可通过 --max-graceful-termination-sec 配置)。如果 pod 在这 10 分钟内没有停止,则节点将被终止