1. 背景
监控是保障 Kubernetes 稳定的运行的必要手段,与 Prometheus 监控系统或服务指标不同,NPD 主要是用来监控 K8S 集群节点的状态。
NPD 目前支持的监控主要包含以下几个方面:
- 内核死锁
- 硬件健康
- 文件系统
-
2. 方案概述
产品技术文档:https://ushare.ucloudadmin.com/display/LABuk8s/Node-problem-detector
第一期 NPD 节点监控插件功能: 需要手动开启,支持手动关闭
- 提供节点异常事件的展示和筛选
后期功能:
- 自定义配置参数
- 自愈功能
- 异常事件的统计(类似阿里云)
3. 功能概览
| 功能点 | 详细说明 | 优先级 | 备注 | | —- | —- | —- | —- | | 插件开启 / 关闭 | NPD 监控插件的开启及关闭 | P0 | | | 集群异常事件查看 | 开启 NPD 插件后,支持 Node 节点异常事件的展示 / 筛选 | P0 | | | 添加节点 | NPD 插件开启后,新加入集群节点默认安装 NPD 的 ds | P0 | |
4. 交互设计
4.1 插件启用
涉及 API:
提示文字:Node-Problem-Detector(NPD) 插件,主要用来监控 UK8S 集群节点的异常情况,提供内核死锁、硬件健康、文件系统及服务系统的健康检查及异常事件告警。
4.1.1 插件启用状态
4.2 NPD 插件页面(启用后)
4.2.1 插件状态展示模块
涉及 API:
展示字段及说明:
字段 | 说明 |
---|---|
组件状态 | n / m,n 为 npd ds ready 的节点数,m 为所有节点数(包括 master 节点) |
开启时间 | NPD 插件最近一次开启时间 |
当前版本 / 更新时间 | NPD 版本号及最近更新时间 |
4.2.2 异常时间展示模块
涉及 API:
展示字段及说明:
字段 | 类型 | 说明 |
---|---|---|
类型 | string | Normal / ? / ? |
事件主体 | string | node-problem-detector 根据时间主题筛选出所有符合条件事件 |
原因 | string | |
数量 | int | |
最早出现 | timestamp | |
最近出现 | timestamp | |
消息 | string |
4.3 NPD 插件关闭
涉及 API: