Kubernetes Metrics Server
插件介绍
从Kubernetes 1.8开始,Kubernetes通过Metrics API提供资源使用指标,例如容器CPU和内存使用率。这些度量可以由用户直接访问(例如,通过使用kubectl top命令),或者由集群中的控制器(例如,Horizontal Pod Autoscaler)使用来进行决策,具体的组件为Metrics-Server,用来替换之前的heapster,heapster从1.11开始逐渐被废弃。
字段说明
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
basic |
否 |
object |
插件基础配置参数,无需指定。 |
flavor |
是 |
表2 object |
插件规格参数 |
custom |
是 |
表3 object |
插件自定义参数 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
description |
否 |
String |
插件相关的描述信息 |
name |
是 |
String |
插件规格名称,固定为:Single-instance |
replicas |
是 |
String |
实例数,默认为:1 |
resources |
是 |
resources object |
容器资源(CPU、内存)配额。 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
multiAZBalance |
否 |
Bool |
多可用区部署模式是否为均分模式,开启后将使用均分模式部署 |
multiAZEnabled |
否 |
Bool |
是否多可用区部署,默认为false,如果为true,则强制跨可用区部署,若为false,则优先跨可用区部署。 |
tolerations |
否 |
List<Object> 表6 tolerations污点 |
插件的污点容忍策略 |
node_match_expressions |
否 |
List<Object> 表7 nodeMatchExpression |
插件的节点亲和配置 |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
limitsCpu |
是 |
String |
CPU大小限制,单位:m |
limitsMem |
是 |
String |
内存大小限制,单位:Mi |
name |
是 |
String |
插件名称,固定为:metrics-server |
requestsCpu |
是 |
String |
申请的CPU大小,单位:m |
requestsMem |
是 |
String |
申请的内存大小,单位:Mi |
参数 |
是否必选 |
参数类型 |
描述 |
---|---|---|---|
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.3.39", "addonTemplateName": "metrics-server", "values": { "basic": { "image_version": "v0.6.2", "swr_addr": "***", "swr_user": "***", "rbac_enabled": true, "cluster_version": "v1.23" }, "flavor": { "description": "Has only one instance", "name": "Single", "replicas": 1, "resources": [ { "limitsCpu": "1000m", "limitsMem": "1000Mi", "name": "metrics-server", "requestsCpu": "100m", "requestsMem": "300Mi" } ], "category": [ "CCE", "Turbo" ] }, "custom": { "annotations": {}, "multiAZBalance": false, "multiAZEnabled": false, "node_match_expressions": [], "tolerations": [ { "key": "node.kubernetes.io/not-ready", "operator": "Exists", "effect": "NoExecute", "tolerationSeconds": 60 }, { "key": "node.kubernetes.io/unreachable", "operator": "Exists", "effect": "NoExecute", "tolerationSeconds": 60 } ] } } } }