Node-Problem-Detector-Plus 是 Kubernetes 集群节点的健康监测组件。在容器服务 TKE 环境中以 DaemonSet 方式运行,帮助用户实时检测节点上的各种异常情况,并将检测结果报告给上游的 Kube-apiserver。
kubernetes 对象名称 | 类型 | 资源量 | Namespaces |
---|---|---|---|
node-problem-detector | DaemonSet | 0.5C80M | kube-system |
node-problem-detector | ServiceAccount | - | kube-system |
node-problem-detector | ClusterRole | - | - |
node-problem-detector | ClusterRoleBinding | - | - |
使用 Node-Problem-Detector-Plus 组件可以监控节点的工作状态,包括内核死锁、OOM、系统线程数压力、系统文件描述符压力等指标,通过 Node Condition 和 Event 的形式上报给 Apiserver。
您可以通过检测相应的指标,提前预知节点的资源压力,可以在节点开始驱逐 Pod 之前手动释放或扩容节点资源压力,防止 Kubenetes 进行资源回收或节点不可用可能带来的损失。
在集群中使用 NPD,需要在集群内安装该扩展组件,NPD 容器将被限制使用0.5核 CPU,80M内存的系统资源。
安装 NPD 插件后,会在节点中增加以下特定的 Conditions:
Condition Type | 默认值 | 描述 |
---|---|---|
ReadonlyFilesystem | False | 文件系统是否只读 |
FDPressure | False | 查看主机的文件描述符数量是否达到最大值的80% |
FrequentKubeletRestart | False | Kubelet 是否在20Min内重启超过5次 |
CorruptDockerOverlay2 | False | DockerImage 是否存在问题 |
KubeletProblem | False | Kubelet service 是否 Running |
KernelDeadlock | False | 内核是否存在死锁 |
FrequentDockerRestart | False | Docker 是否在20Min内重启超过5次 |
FrequentContainerdRestart | False | Containerd 是否在20Min内重启超过5次 |
DockerdProblem | False | Docker service 是否 Running(若节点运行时为 Containerd,则一直为 False) |
ContainerdProblem | False | Containerd service 是否 Running(若节点运行时为 Docker,则一直为 False) |
ThreadPressure | False | 系统目前线程数是否达到最大值的90% |
NetworkUnavailable | False | NTP service 是否 Running |
SerfFailed | False | 分布式检测节点网络健康状态 |
本页内容是否解决了您的问题?