CCE Node Problem Detector 说明

容器引擎 CCE

  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 使用限制
    • 应用场景
    • 核心概念
    • 特性
  • 开发指南
    • EFK日志采集系统部署指南
    • 创建LoadBalancer类型的Service
    • Prometheus监控系统部署指南
    • kubectl管理配置
    • 在CCE集群中使用-Network-Policy
  • 常用工具
    • 视图命令行场景示例
  • 产品公告
    • CCE 新版集群管理发布公告
    • CCE 控制台升级公告
    • Kubernetes 版本发布说明
      • CCE发布Kubernetes 1.18版本说明
      • CCE发布Kubernetes 1.30版本说明
      • CCE Kubernetes 版本更新说明
      • CCE发布Kubernetes 1.22版本说明
      • CCE发布Kubernetes 1.20版本说明
      • CCE发布Kubernetes 1.28版本说明
      • CCE发布Kubernetes 1.24版本说明
      • CCE发布Kubernetes 1.26版本说明
    • 安全漏洞修复公告
      • 漏洞CVE-2020-14386修复公告
      • 修复漏洞CVE-2021-30465公告
      • 漏洞CVE-2019-5736修复公告
      • 漏洞CVE-2025-1097、CVE-2025-1098等修复公告
      • 关于 runc 的安全问题(CVE-2024-21626)影响声明
  • 快速入门
    • 快速部署nginx应用
    • 使用CCE容器引擎流程概述
  • 典型实践
    • CCE集群网络说明及规划
    • CCE典型实践之容器网络模式选择
    • Pod异常问题排查
    • 通过 CCE Ingress 实现虚机和容器服务的统一接入
    • CCE集群使用Jenkins持续发布
    • CCE-访问公网实践
    • Linux系统配置常用参数说明
    • 用户使用自定义 CNI 插件方法
    • CCE典型实践之Guestbook搭建
    • 使用KMS对etcd数据加密
    • 添加CGroup V2节点
    • CCE容器运行时选择
    • CCE使用检查清单
    • VPC-ENI模式集群访问公网实践
    • 利用 Velero 实现将应用跨云迁移到 百度CCE
    • 使用 CNI 配置容器内网络参数
    • CCE Resource Recommender 用户文档
    • CCE集群中使用私有镜像实践
    • 云原生AI
      • 使用 CCE AITraining Operator 实现弹性容错训练
      • 部署 TensorFlow Serving 推理服务
      • GPU虚拟化之隔离性最优型的最佳实践
  • 操作指南
    • 多用户访问控制
    • 使用须知
    • 命名空间管理
      • 设置资源配额
      • 设置资源限制
      • 命名空间基本操作
    • 弹性伸缩
      • 使用 cce-autoscaling-placeholder 实现秒级弹性伸缩
      • CCE 集群节点自动伸缩
      • 容器定时水平伸缩(CronHPA)
      • 容器水平伸缩(HPA)
    • 存储管理
      • 使用云盘CDS
      • 使用并行文件存储PFS
      • 使用对象存储BOS
      • 使用并行文件存储PFS L2
      • 使用本地存储
      • 使用数据湖存储加速工具RapidFS
      • 使用文件存储CFS
      • 概述
    • 节点管理
      • 移出节点
      • kubelet容器监控只读端口风险提示
      • 管理污点
      • 设置GPU显存共享
      • 添加节点
      • 自定义Kubelet参数
      • 设置节点封锁
      • 节点排水
      • 管理节点标签
    • 组件管理
      • CCE CSI BOS Plugin 说明
      • Kube Scheduler 说明文档
      • CCE CSI PFS L2 Plugin
      • CCE NodeLocal DNSCache 说明
      • CCE Ingress NGINX Controller 说明
      • CCE RDMA Device Plugin 说明
      • CCE Node Problem Detector 说明
      • CCE Credential Controller 说明
      • Kube Controller Manager 说明
      • CCE Ingress Controller 说明
      • CCE GPU Manager 说明
      • CCE Backup Controller 说明
      • CCE QoS Agent 说明
      • CCE Descheduler 说明
      • 组件概述
      • CCE Image Accelerate 说明
      • CCE Network Plugin说明
      • Kube ApiServer 说明
      • CCE Log Operator 说明
      • CoreDNS 说明
      • CCE NPU Manager 说明
      • CCE AI Job Scheduler 说明
      • CCE LB Controller 说明
      • CCE P2P Accelerator 说明
      • CCE_Hybrid_Manager说明
      • CCE CSI PFS Plugin 说明
      • CCE Deep Learning Frameworks Operator 说明
      • CCE Node Remedier 说明
      • CCE CSI CDS Plugin 说明
      • CCE Ascend Mindx DL说明
      • CCE Calico Felix 说明
      • CCE Virtual Kubelet组件
      • CCE Fluid说明
      • CCE Onepilot 说明
      • CCE CronHPA Controller 说明
      • CCE 动态调度插件说明
    • 云原生AI
      • 云原生AI概述
      • GPU虚拟化
        • MPS 最佳实践&注意事项
        • GPU独占和共享说明
        • GPU在离线混部使用说明
        • GPU虚拟化适配表
        • 单GPU容器共享多卡使用说明
        • 共享GPU场景下的镜像构建注意事项
        • 关闭节点显存共享功能注意事项
      • 队列管理
        • 逻辑队列和物理队列使用说明
        • 修改队列
        • 删除队列
        • 新建队列
      • 任务管理
        • 基于 NCCL的RDMA分布式训练示例
        • 新建AITraining任务
        • 新建PaddlePaddle任务
        • 删除任务
        • 查看任务信息
        • 新建Mxnet任务
        • 新建TensorFlow任务
        • 新建Pytorch任务
      • 数据集管理
        • 删除数据集
        • 操作数据集
        • 查看数据集
        • 新建数据集
      • AI监控大盘
        • 接入监控实例并开启采集任务
        • NVIDIA芯片资源观测
          • AI Job Scheduler组件
          • GPUManager组件
          • GPU资源池总览
          • GPU节点资源
          • GPU工作负载资源
        • 昇腾芯片资源观测
          • 昇腾节点资源
          • 昇腾资源池总览
          • 昇腾工作负载资源
      • AI 加速套件
        • 使用AIAK-Inference 加速推理业务
        • 使用AIAK-Training Pytorch版
        • AIAK 简介
        • 使用 AIAK-Training 部署分布式训练任务
    • Helm管理
      • Helm模板
      • Helm实例
    • 应用管理
      • 部署
      • 保密字典
      • 服务
      • 配置字典
      • 容器组
      • 概述
    • 镜像仓库
      • 使用容器镜像构建服务
      • 镜像仓库基本操作
    • Serverless集群
      • 在Serverless集群中使用Service
      • 产品概述
      • 创建Serverless集群
    • 工作负载
      • 设置工作负载自动水平伸缩
      • Statefulset管理
      • 使用私有镜像创建工作负载
      • Job管理
      • 查看容器组
      • CronJob管理
      • Daemonset管理
      • 免密拉取容器镜像
      • Deployment管理
    • 节点组管理
      • 节点组管理
      • 节点组介绍
      • 升级节点组
      • 添加外部已有节点
      • 自定义节点组 Kubelet 配置
      • 添加备选机型
      • 节点组节点故障检测自愈
      • 配置扩缩容策略
    • 监控日志
      • 使用Prometheus监控集群
      • CCE 事件中心
      • 集群审计仪表盘
      • CCE 集群异常事件报警
      • Java应用监控
      • 集群服务画像
      • 日志管理
      • 集群审计
      • 日志中心
        • 在容器引擎控制台配置采集规则
        • 查看集群控制面日志
        • 日志概述
        • 查看业务日志
        • 使用CRD配置采集规则
    • 网络管理
      • CCE 集群内容器访问集群外服务
      • 容器网段空间耗尽如何继续扩容(VPC-ENI模式)
      • 容器网段空间耗尽如何继续扩容(VPC网络模式)
      • CCE IP Masquerade Agent 用户指南
      • 创建VPC-ENI模式集群
      • 对等连接场景下容器流量转发配置
      • 使用Network Policy网络策略
      • CCE 支持 IPv4 和 IPv6 双栈网络
      • 在CCE集群中使用NetworkPolicy
      • 网络编排
        • 集群 Pod 子网拓扑分布(容器网络 v2)
        • 容器网络 QoS 管理
        • VPC-ENI指定子网分配IP(容器网络 v2)
      • 网络连通性
        • 容器网络通过 NAT 网关访问公网
      • 网络维护
        • CCE容器网络常见错误码对应表
      • DNS
        • DNS 原理概述
        • DNS 问题排查指南
        • CoreDNS 组件手动升级指南
    • 虚拟节点
      • 管理虚拟节点
      • 配置BCIPod
      • 配置bci-profile
    • 备份中心
      • 备份概述
      • 恢复管理
      • 备份仓库
      • 备份管理
    • 巡检与诊断
      • GPU运行环境检查
      • 集群巡检
      • 故障诊断
    • 流量接入
      • NGINX Ingress 使用配置参考
      • CCE基于nginx-ingress实现灰度发布
      • BLB Ingress Annotation说明
      • 通过CCE使用K8S_Ingress
      • 通过YAML创建LoadBalancer_Service
      • 通过CCE使用K8S_Service
      • LoadBalancer Service Annotation说明
      • 使用直连 Pod 模式 LoadBalancer Service
      • Service复用已有负载均衡BLB
      • 通过YAML创建CCE_Ingress
      • 使用 NGINX Ingress
    • 权限管理
      • 配置集群OIDC认证
      • 配置IAM标签权限策略
      • 配置IAM自定义权限策略
      • 配置IAM预置权限策略
      • 权限概述
      • 配置预置RBAC权限策略
    • 配置管理
      • Secret管理
      • Configmap管理
    • 集群管理
      • 集群快照
      • CCE 安全组
      • 查看集群
      • 创建集群
      • 操作集群
      • 升级集群Kubernetes版本
      • 通过kubectl连接集群
      • 托管集群使用说明
      • CCE 支持 GPUSharing 集群
      • CCE节点资源预留说明
      • CCE 节点 CDS 扩容
  • 服务等级协议SLA
    • CCE服务等级协议SLA(V1.0)
  • Solution-Fabric
    • Fabric解决方案
  • API参考
    • 通用说明
    • 公共头和错误返回
    • 概述
  • 常见问题
    • windows下使用kubectl
    • 自动扩缩容常见问题
    • 通过kubectl创建简单的服务
    • 业务应用如何使用负载均衡?
    • 常见问题总览
    • 集群管理常见问题
  • API_V2参考
    • 通用说明
    • Instance相关接口
    • 附录
    • Autoscaler相关接口
    • 组件管理相关接口
    • 套餐适配相关接口
    • Task相关接口
    • 公共头和错误返回
    • Network相关接口
    • 服务域名
    • Cluster相关接口
    • Kubeconfig相关接口
    • InstanceGroup相关接口
    • RBAC相关接口
    • 概述
  • 产品定价
    • 产品定价
  • Solution-Xchain
    • 超级链解决方案
  • SDK
    • Go-SDK
      • 节点组管理
      • 节点管理
      • 集群管理
      • 初始化
      • 安装SDK工具包
      • 概述
所有文档
menu
没有找到结果,请重新输入

容器引擎 CCE

  • 功能发布记录
  • 产品描述
    • 介绍
    • 优势
    • 使用限制
    • 应用场景
    • 核心概念
    • 特性
  • 开发指南
    • EFK日志采集系统部署指南
    • 创建LoadBalancer类型的Service
    • Prometheus监控系统部署指南
    • kubectl管理配置
    • 在CCE集群中使用-Network-Policy
  • 常用工具
    • 视图命令行场景示例
  • 产品公告
    • CCE 新版集群管理发布公告
    • CCE 控制台升级公告
    • Kubernetes 版本发布说明
      • CCE发布Kubernetes 1.18版本说明
      • CCE发布Kubernetes 1.30版本说明
      • CCE Kubernetes 版本更新说明
      • CCE发布Kubernetes 1.22版本说明
      • CCE发布Kubernetes 1.20版本说明
      • CCE发布Kubernetes 1.28版本说明
      • CCE发布Kubernetes 1.24版本说明
      • CCE发布Kubernetes 1.26版本说明
    • 安全漏洞修复公告
      • 漏洞CVE-2020-14386修复公告
      • 修复漏洞CVE-2021-30465公告
      • 漏洞CVE-2019-5736修复公告
      • 漏洞CVE-2025-1097、CVE-2025-1098等修复公告
      • 关于 runc 的安全问题(CVE-2024-21626)影响声明
  • 快速入门
    • 快速部署nginx应用
    • 使用CCE容器引擎流程概述
  • 典型实践
    • CCE集群网络说明及规划
    • CCE典型实践之容器网络模式选择
    • Pod异常问题排查
    • 通过 CCE Ingress 实现虚机和容器服务的统一接入
    • CCE集群使用Jenkins持续发布
    • CCE-访问公网实践
    • Linux系统配置常用参数说明
    • 用户使用自定义 CNI 插件方法
    • CCE典型实践之Guestbook搭建
    • 使用KMS对etcd数据加密
    • 添加CGroup V2节点
    • CCE容器运行时选择
    • CCE使用检查清单
    • VPC-ENI模式集群访问公网实践
    • 利用 Velero 实现将应用跨云迁移到 百度CCE
    • 使用 CNI 配置容器内网络参数
    • CCE Resource Recommender 用户文档
    • CCE集群中使用私有镜像实践
    • 云原生AI
      • 使用 CCE AITraining Operator 实现弹性容错训练
      • 部署 TensorFlow Serving 推理服务
      • GPU虚拟化之隔离性最优型的最佳实践
  • 操作指南
    • 多用户访问控制
    • 使用须知
    • 命名空间管理
      • 设置资源配额
      • 设置资源限制
      • 命名空间基本操作
    • 弹性伸缩
      • 使用 cce-autoscaling-placeholder 实现秒级弹性伸缩
      • CCE 集群节点自动伸缩
      • 容器定时水平伸缩(CronHPA)
      • 容器水平伸缩(HPA)
    • 存储管理
      • 使用云盘CDS
      • 使用并行文件存储PFS
      • 使用对象存储BOS
      • 使用并行文件存储PFS L2
      • 使用本地存储
      • 使用数据湖存储加速工具RapidFS
      • 使用文件存储CFS
      • 概述
    • 节点管理
      • 移出节点
      • kubelet容器监控只读端口风险提示
      • 管理污点
      • 设置GPU显存共享
      • 添加节点
      • 自定义Kubelet参数
      • 设置节点封锁
      • 节点排水
      • 管理节点标签
    • 组件管理
      • CCE CSI BOS Plugin 说明
      • Kube Scheduler 说明文档
      • CCE CSI PFS L2 Plugin
      • CCE NodeLocal DNSCache 说明
      • CCE Ingress NGINX Controller 说明
      • CCE RDMA Device Plugin 说明
      • CCE Node Problem Detector 说明
      • CCE Credential Controller 说明
      • Kube Controller Manager 说明
      • CCE Ingress Controller 说明
      • CCE GPU Manager 说明
      • CCE Backup Controller 说明
      • CCE QoS Agent 说明
      • CCE Descheduler 说明
      • 组件概述
      • CCE Image Accelerate 说明
      • CCE Network Plugin说明
      • Kube ApiServer 说明
      • CCE Log Operator 说明
      • CoreDNS 说明
      • CCE NPU Manager 说明
      • CCE AI Job Scheduler 说明
      • CCE LB Controller 说明
      • CCE P2P Accelerator 说明
      • CCE_Hybrid_Manager说明
      • CCE CSI PFS Plugin 说明
      • CCE Deep Learning Frameworks Operator 说明
      • CCE Node Remedier 说明
      • CCE CSI CDS Plugin 说明
      • CCE Ascend Mindx DL说明
      • CCE Calico Felix 说明
      • CCE Virtual Kubelet组件
      • CCE Fluid说明
      • CCE Onepilot 说明
      • CCE CronHPA Controller 说明
      • CCE 动态调度插件说明
    • 云原生AI
      • 云原生AI概述
      • GPU虚拟化
        • MPS 最佳实践&注意事项
        • GPU独占和共享说明
        • GPU在离线混部使用说明
        • GPU虚拟化适配表
        • 单GPU容器共享多卡使用说明
        • 共享GPU场景下的镜像构建注意事项
        • 关闭节点显存共享功能注意事项
      • 队列管理
        • 逻辑队列和物理队列使用说明
        • 修改队列
        • 删除队列
        • 新建队列
      • 任务管理
        • 基于 NCCL的RDMA分布式训练示例
        • 新建AITraining任务
        • 新建PaddlePaddle任务
        • 删除任务
        • 查看任务信息
        • 新建Mxnet任务
        • 新建TensorFlow任务
        • 新建Pytorch任务
      • 数据集管理
        • 删除数据集
        • 操作数据集
        • 查看数据集
        • 新建数据集
      • AI监控大盘
        • 接入监控实例并开启采集任务
        • NVIDIA芯片资源观测
          • AI Job Scheduler组件
          • GPUManager组件
          • GPU资源池总览
          • GPU节点资源
          • GPU工作负载资源
        • 昇腾芯片资源观测
          • 昇腾节点资源
          • 昇腾资源池总览
          • 昇腾工作负载资源
      • AI 加速套件
        • 使用AIAK-Inference 加速推理业务
        • 使用AIAK-Training Pytorch版
        • AIAK 简介
        • 使用 AIAK-Training 部署分布式训练任务
    • Helm管理
      • Helm模板
      • Helm实例
    • 应用管理
      • 部署
      • 保密字典
      • 服务
      • 配置字典
      • 容器组
      • 概述
    • 镜像仓库
      • 使用容器镜像构建服务
      • 镜像仓库基本操作
    • Serverless集群
      • 在Serverless集群中使用Service
      • 产品概述
      • 创建Serverless集群
    • 工作负载
      • 设置工作负载自动水平伸缩
      • Statefulset管理
      • 使用私有镜像创建工作负载
      • Job管理
      • 查看容器组
      • CronJob管理
      • Daemonset管理
      • 免密拉取容器镜像
      • Deployment管理
    • 节点组管理
      • 节点组管理
      • 节点组介绍
      • 升级节点组
      • 添加外部已有节点
      • 自定义节点组 Kubelet 配置
      • 添加备选机型
      • 节点组节点故障检测自愈
      • 配置扩缩容策略
    • 监控日志
      • 使用Prometheus监控集群
      • CCE 事件中心
      • 集群审计仪表盘
      • CCE 集群异常事件报警
      • Java应用监控
      • 集群服务画像
      • 日志管理
      • 集群审计
      • 日志中心
        • 在容器引擎控制台配置采集规则
        • 查看集群控制面日志
        • 日志概述
        • 查看业务日志
        • 使用CRD配置采集规则
    • 网络管理
      • CCE 集群内容器访问集群外服务
      • 容器网段空间耗尽如何继续扩容(VPC-ENI模式)
      • 容器网段空间耗尽如何继续扩容(VPC网络模式)
      • CCE IP Masquerade Agent 用户指南
      • 创建VPC-ENI模式集群
      • 对等连接场景下容器流量转发配置
      • 使用Network Policy网络策略
      • CCE 支持 IPv4 和 IPv6 双栈网络
      • 在CCE集群中使用NetworkPolicy
      • 网络编排
        • 集群 Pod 子网拓扑分布(容器网络 v2)
        • 容器网络 QoS 管理
        • VPC-ENI指定子网分配IP(容器网络 v2)
      • 网络连通性
        • 容器网络通过 NAT 网关访问公网
      • 网络维护
        • CCE容器网络常见错误码对应表
      • DNS
        • DNS 原理概述
        • DNS 问题排查指南
        • CoreDNS 组件手动升级指南
    • 虚拟节点
      • 管理虚拟节点
      • 配置BCIPod
      • 配置bci-profile
    • 备份中心
      • 备份概述
      • 恢复管理
      • 备份仓库
      • 备份管理
    • 巡检与诊断
      • GPU运行环境检查
      • 集群巡检
      • 故障诊断
    • 流量接入
      • NGINX Ingress 使用配置参考
      • CCE基于nginx-ingress实现灰度发布
      • BLB Ingress Annotation说明
      • 通过CCE使用K8S_Ingress
      • 通过YAML创建LoadBalancer_Service
      • 通过CCE使用K8S_Service
      • LoadBalancer Service Annotation说明
      • 使用直连 Pod 模式 LoadBalancer Service
      • Service复用已有负载均衡BLB
      • 通过YAML创建CCE_Ingress
      • 使用 NGINX Ingress
    • 权限管理
      • 配置集群OIDC认证
      • 配置IAM标签权限策略
      • 配置IAM自定义权限策略
      • 配置IAM预置权限策略
      • 权限概述
      • 配置预置RBAC权限策略
    • 配置管理
      • Secret管理
      • Configmap管理
    • 集群管理
      • 集群快照
      • CCE 安全组
      • 查看集群
      • 创建集群
      • 操作集群
      • 升级集群Kubernetes版本
      • 通过kubectl连接集群
      • 托管集群使用说明
      • CCE 支持 GPUSharing 集群
      • CCE节点资源预留说明
      • CCE 节点 CDS 扩容
  • 服务等级协议SLA
    • CCE服务等级协议SLA(V1.0)
  • Solution-Fabric
    • Fabric解决方案
  • API参考
    • 通用说明
    • 公共头和错误返回
    • 概述
  • 常见问题
    • windows下使用kubectl
    • 自动扩缩容常见问题
    • 通过kubectl创建简单的服务
    • 业务应用如何使用负载均衡?
    • 常见问题总览
    • 集群管理常见问题
  • API_V2参考
    • 通用说明
    • Instance相关接口
    • 附录
    • Autoscaler相关接口
    • 组件管理相关接口
    • 套餐适配相关接口
    • Task相关接口
    • 公共头和错误返回
    • Network相关接口
    • 服务域名
    • Cluster相关接口
    • Kubeconfig相关接口
    • InstanceGroup相关接口
    • RBAC相关接口
    • 概述
  • 产品定价
    • 产品定价
  • Solution-Xchain
    • 超级链解决方案
  • SDK
    • Go-SDK
      • 节点组管理
      • 节点管理
      • 集群管理
      • 初始化
      • 安装SDK工具包
      • 概述
  • 文档中心
  • arrow
  • 容器引擎CCE
  • arrow
  • 操作指南
  • arrow
  • 组件管理
  • arrow
  • CCE Node Problem Detector 说明
本页目录
  • 组件介绍
  • 组件功能
  • 限制说明
  • 安装组件
  • 查看集群健康检查状态
  • 故障状态
  • Node Conditions
  • EBC 机型故障检测介绍
  • 前提
  • GPU检测
  • CPU/内存检测
  • 网卡检测
  • 利用监控指标实现故障报警
  • Node-Problem-Detector 指标介绍
  • 在 CProm 中添加对 Node-Problem-Detector 的指标采集任务
  • 版本记录

CCE Node Problem Detector 说明

更新时间:2025-08-21

组件介绍

在 Kubernetes 集群的实际使用过程中,节点可能由于各种原因出现异常,导致影响服务的整体可用性。另外,由于 Kubernetes 的控制面在默认情况下,无法及时感知节点异常,导致在调度的过程中,将实例调度到不可用的节点上;而作为集群的使用者,用户往往也无法及时感知到集群中节点或实例的故障,导致不能及时进行止损处理。当遇到节点或实例故障时,用户期望平台能实现自动的故障恢复,例如自动迁移故障节点上的实例等。

Node-Problem-Detector 是为集群提供节点故障检测的扩展能力,用户在集群中安装该组件后,会以 DaemonSet 形式运行,来实时检测节点上的各种异常情况,并将检测结果报告给上游的 Kube-APIServer。

组件功能

  • 提供节点故障检测能力
  • 支持的故障上报方式包括

    • NodeCondition(节点状况):可能造成 Pod 无法在这个节点运行
    • Event(事件):影响节点的临时性问题,但是它对于系统诊断是有意义的
    • Metrics:以上两种情况,会同时生成 Prometheus 指标,可供采集和展示

限制说明

  • 集群版本在 1.18.9 以上

安装组件

  1. 登录百度智能云官网,并进入管理控制台。
  2. 选择“产品服务 > 云原生 > 容器引擎 CCE”,单击进入容器引擎管理控制台。
  3. 单击左侧导航栏中的 集群管理 > 集群列表 。
  4. 在集群列表页面中,单击目标集群名称进入集群管理页面。
  5. 在集群管理页面单击 组件管理 。
  6. 在组件管理列表中选择 CCE Node Problem Detector 组件单击“安装”。
  7. 点击“确定”按钮完成组件的安装。

image.png

查看集群健康检查状态

安装组件后,可以在节点健康检查界面查看故障情况。

  1. 登录百度智能云官网,并进入管理控制台。
  2. 选择“产品服务 > 云原生 > 容器引擎 CCE”,单击进入容器引擎管理控制台。
  3. 单击左侧导航栏中的 集群管理 > 集群列表 。
  4. 在集群列表页面中,单击目标集群名称进入集群管理页面。
  5. 在集群管理页面单击 节点管理 > Worker , 进入节点管理界面。
  6. 点击 健康检查 图标即可展示节点的健康检查状态:

image (1).png

  1. 查看健康检查状态。目前,仅 NetworkUnavailable 和 Ready 会影响节点是否可用。

image (2).png

故障状态

Node Conditions

安装 CCE-Node-Problem-Detector 后,会在节点中添加以下 Conditions:

Condition Type 默认值 说明 影响
FrequentKubeletRestart False Kubelet是否在20Min内重启超过5次 影响容器创建
FrequentContainerRuntimeRestart False Docker或Containerd是否在20Min内重启超过5次 影响容器创建
ContainerRuntimeUnhealthy False 节点容器运行时是否可用 影响容器创建
CorruptDockerOverlay2 False Docker Overlay2文件系统错误 影响 Docker 容器运行时正常运行
InodesPressure False 节点Inodes使用是否大于80% 影响目录/文件的创建
KernelDeadlock False 内核是否存在死锁 可能影响容器的创建、删除和运行
ReadonlyFilesystem False 文件系统是否只读 进程无法新建目录/文件,无法执行写操作
GPUUnhealthy False 是否存在 GPU 故障(仅支持带有 GPU 设备的 EBC 机型) 1. GPU 发生故障不可用
2. 可能导致 GPU 训练/推理任务中断
NICUnhealthy False 是否存在网卡故障(仅支持带有 GPU 设备的 EBC 机型) 1. 可能导致节点、Pod 间网络通信中断
2. 可能导致 GPU 训练/推理任务中断
MemoryUnhealthy False 是否存在内存故障(仅支持EBC机型) 内存不可用,任务中断

EBC 机型故障检测介绍

针对于EBC弹性裸金属服务器,Node-Problem-Detector对接百度云硬件感知组件HAS-agent,新增对GPU/RDMA网卡/CPU/内存等硬件健康检测能力。

前提

  1. 机器上已经安装百度云硬件感知组件HAS-agent。

GPU检测

检测维度 说明 处理方式
GPU掉卡 掉卡,无法识别GPU场景 更新 Node Condition, GPUUnhealthy:True
GPU内存 EccError、RemappedPending等场景 更新 Node Condition, GPUUnhealthy:True
GPU链路 Nvlink故障,带宽异常等场景 更新 Node Condition, GPUUnhealthy:True
XID Nvidia GPU 的 Xid 故障 根据XID不同,处理方式不同,具体如下:
1. XID 48、62、64、74、79、95、109、122、123、124 , 处理方式:更新 Node Condition, GPUUnhealthy:True
2. 除上述列出的XID列表以外的XID,处理方式:仅打印事件
其他故障 温度过高、功耗异常、驱动异常等场景 更新 Node Condition, GPUUnhealthy:True

CPU/内存检测

检测维度 说明 处理方式
CPU 常见CPU Cache读写错误等场景 仅打印事件
内存 常见的不可恢复的ECC故障等场景 更新 Node Condition, MemoryUnhealthy:True
可以恢复的ECC错误风暴、可隔离的故障场景 仅打印事件

网卡检测

检测维度 说明 处理方式
RDMA 网卡up/down RDMA网卡频繁up/down 更新 Node Condition, NICUnhealthy:True
RDMA 网卡降速 RDMA网卡pcie降速,未达到设计速度等场景 更新 Node Condition, NICUnhealthy:True

利用监控指标实现故障报警

Node-Problem-Detector 指标介绍

Node-Problem-Detector 暴露 Prometheus 指标如下:

指标名 指标类型 指标说明
problem_counter counter 当前时刻已经发生的故障数量
problem_gauge gauge 当前时刻,是否存在某类型的故障

指标中包含的 LabelSet 如下:

  1. instance: 故障节点
  2. namespace: npd 实例部署的 namespace
  3. type:故障类型,对应 Node Condition Type
  4. reason:故障原因,对应 Node Condition Reason
  5. region:节点所在地域

用户可根据需要基于以上指标配置 Prometheus 监控和告警;

在 CProm 中添加对 Node-Problem-Detector 的指标采集任务

在 CProm 中添加对 Node-Problem-Detector 的指标采集规则之前,需要先为 CCE 集群关联 CProm 实例,并添加指标采集任务。 操作参考:

  1. CProm 实例关联 CCE 集群
  2. CProm 实例中添加采集任务

添加如下指标采集任务:

YAML
1job_name: node-problem-detector
2scrape_interval: 3s
3kubernetes_sd_configs:
4  - role: endpoints
5
6relabel_configs:
7  - source_labels: [ __meta_kubernetes_service_annotation_npd_prometheus_scrape ]
8    action: keep
9    regex: true
10  - source_labels: [ __meta_kubernetes_service_annotation_npd_prometheus_scheme ]
11    action: replace
12    target_label: __scheme__
13    regex: (https?)
14  - source_labels: [ __meta_kubernetes_service_annotation_npd_prometheus_path ]
15    action: replace
16    target_label: __metrics_path__
17    regex: (.+)
18  - source_labels: [ __address__, __meta_kubernetes_service_annotation_npd_prometheus_port ]
19    action: replace
20    target_label: __address__
21    regex: ([^:]+)(?::\d+)?;(\d+)
22    replacement: $1:$2
23  - source_labels: [ __meta_kubernetes_endpoint_node_name ]
24    action: replace
25    target_label: node
26  - source_labels: [ __meta_kubernetes_namespace ]
27    action: replace
28    target_label: namespace
29  - source_labels: [ __meta_kubernetes_service_name ]
30    action: replace
31    target_label: service
32  - source_labels: [ __meta_kubernetes_pod_name ]
33    action: replace
34    target_label: pod

版本记录

版本号 适配集群版本 更新时间 更新内容 影响
0.8.25 v1.18+ 2024-03-21 组件新增对机器 gid 跳序的故障检测 --
0.8.24 v1.18+ 2024-03-01 组件新增 Kubelet 故障检测
支持配置在 Metrics Labels 中禁用 bce-instance-id
优化组件配置
--
0.8.23 v1.18+ 2024-01-08 适配 ubuntu22.04 操作系统
更新基础镜像,减少镜像体积, 2G -> 278M
去除对 systemctl 命令的依赖
优化对容器运行时(docker、containerd)的依赖
--
0.8.22 v1.18+ 2023-12-28 MPS故障检测性能优化,支持根据mps-server启动用户执行探测
提供MPS故障检测开关,默认关闭,可按需开启
已经使用mps检测的用户升级后需要重新开启mps探测
--
0.8.21 v1.18+ 2023-12-27 网卡故障检测信息源对接 has-agent
检测 GPU Xid 故障时,支持配置忽略期望的 Xid
--
0.8.20 v1.18+ 2023-12-07 支持 MPS 故障检测和监控 --
0.8.19 v1.18+ 2023-11-30 故障检测采集任务支持采集节点对应实例短ID --
0.8.18 v1.18+ 2023-11-23 优化 NPD 部署亲和性配置&监控配置 --
0.8.17 v1.18+ 2023-11-20 优化内存故障监控时的超时时间
修正非EBC节点被部署NPD,但无HAS服务时,访问 has-agent 报错的问题
--
0.8.16 v1.18+ 2023-10-17 GPU Xid 故障检测信息源对接 has-agent,取消检索内核日志
GPU 故障检测中,不支持自定义忽略 xid
--
0.8.15 v1.18+ 2023-08-11 支持 CPU、内存故障检测,仅支持 EBC 机型。新增故障类型:CPUUnhealthy、MemoryUnhealthy
优化 GPU Xid 故障检测逻辑
优化 RDMA 网卡故障检测逻辑
--
0.8.14 v1.18+ 2023-06-03 网卡故障检测逻辑 bugfix --
0.8.13 v1.18+ 2023-04-08 NPD 支持 GPU 故障检测、网卡故障检测,仅支持 EBC 机型。新增故障类型:GPUUnhealthy、NICUnhealthy
引入社区优化及 bugfix
--
0.8.12 v1.18+ 2023-03-07 NPD 通过组件中心发布。支持以下故障检测:
1. FrequentKubeletRestart
2. FrequentContainerRuntimeRestart
3. ContainerRuntimeUnhealthy
4. CorruptDockerOverlay2
5. InodesPressure
6. KernelDeadlock
7. ReadonlyFilesystem
--

上一篇
CCE RDMA Device Plugin 说明
下一篇
CCE Credential Controller 说明