CCE节点故障检测
插件介绍
CCE节点故障检测插件(node-problem-detector,简称NPD)是一款监控集群节点异常事件的插件,以及对接第三方监控平台功能的组件。它是一个在每个节点上运行的守护程序,可从不同的守护进程中搜集节点问题并将其报告给apiserver。node-problem-detector可以作为DaemonSet运行, 也可以独立运行。
字段说明
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
basic |
否 |
object |
插件基础配置参数,无需指定。 |
flavor |
是 |
表2 object |
插件规格参数 |
custom |
是 |
表3 object |
插件自定义参数 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
description |
否 |
String |
插件相关的描述信息 |
name |
是 |
String |
插件规格名称,固定为:Single-instance |
replicas |
是 |
String |
实例数,默认为:1 |
resources |
是 |
resources object |
容器资源(CPU、内存)配额。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
feature_gate |
否 |
String |
特性开关,管理开启beta特性 |
multiAZBalance |
否 |
Bool |
多可用区部署 |
multiAZEnabled |
否 |
Bool |
是否多可用区部署,默认为false,如果为true,则强制跨可用区部署,若为false,则优先跨可用区部署。 |
npc |
是 |
object 表5 npc |
node-problem-controller的配置 |
tolerations |
否 |
List<Object> 表6 tolerations污点 |
插件的污点容忍策略 |
node_match_expressions |
否 |
List<Object> 表7 nodeMatchExpression |
插件的节点亲和配置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
limitsCpu |
是 |
String |
CPU大小限制,单位:m |
limitsMem |
是 |
String |
内存大小限制,单位:Mi |
name |
是 |
String |
模板名称,固定为:custom-resources |
requestsCpu |
是 |
String |
申请的CPU大小,单位:m |
requestsMem |
是 |
String |
申请的内存大小,单位:Mi |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
maxTaintedNode |
是 |
String or Int |
单个故障在多个节点间发生时,至多多少节点允许被npc添加污点,避免雪崩效应。 支持int格式和百分比格式。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
key |
否 |
String |
污点键 |
effect |
否 |
String |
污点策略 |
operator |
否 |
String |
操作符 |
tolerationSeconds |
否 |
Int |
容忍时间窗 |
请求示例
{ "kind": "Addon", "apiVersion": "v3", "metadata": { "annotations": { "addon.install/type": "install" } }, "spec": { "clusterID": "b78fb690-b82c-11ee-83cf-0255ac100b0f", "version": "1.18.48", "addonTemplateName": "npd", "values": { "basic": { "image_version": "1.18.48", "swr_addr": "***", "swr_user": "***", "rbac_enabled": true, "cluster_version": "v1.23" }, "flavor": { "description": "custom resources", "name": "custom-resources", "replicas": 2, "resources": [ { "limitsCpu": "100m", "limitsMem": "300Mi", "name": "node-problem-controller", "requestsCpu": "30m", "requestsMem": "100Mi" }, { "limitsCpu": "100m", "limitsMem": "300Mi", "name": "node-problem-detector", "requestsCpu": "30m", "requestsMem": "100Mi" } ], "category": [ "CCE", "Turbo" ] }, "custom": { "annotations": {}, "common": {}, "feature_gates": "", "multiAZBalance": false, "multiAZEnabled": false, "node_match_expressions": [], "npc": { "maxTaintedNode": "10%" }, "tolerations": [ { "key": "node.kubernetes.io/not-ready", "operator": "Exists", "effect": "NoExecute", "tolerationSeconds": 60 }, { "key": "node.kubernetes.io/unreachable", "operator": "Exists", "effect": "NoExecute", "tolerationSeconds": 60 } ] } } } }