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
}
]
}
}
}
}