更新时间:2024-10-31 GMT+08:00
分享

Kubernetes Metrics Server

插件介绍

从Kubernetes 1.8开始,Kubernetes通过Metrics API提供资源使用指标,例如容器CPU和内存使用率。这些度量可以由用户直接访问(例如,通过使用kubectl top命令),或者由集群中的控制器(例如,Horizontal Pod Autoscaler)使用来进行决策,具体的组件为Metrics-Server,用来替换之前的heapster,heapster从1.11开始逐渐被废弃。

字段说明

表1 参数描述

参数

是否必选

参数类型

描述

basic

object

插件基础配置参数,无需指定。

flavor

表2 object

插件规格参数

custom

表3 object

插件自定义参数

表2 flavor

参数

是否必选

参数类型

描述

description

String

插件相关的描述信息

name

String

插件规格名称,固定为:Single-instance

replicas

String

实例数,默认为:1

resources

resources object

容器资源(CPU、内存)配额。

表3 custom

参数

是否必选

参数类型

描述

multiAZBalance

Bool

多可用区部署模式是否为均分模式,开启后将使用均分模式部署

multiAZEnabled

Bool

是否多可用区部署,默认为false,如果为true,则强制跨可用区部署,若为false,则优先跨可用区部署。

tolerations

List<Object> 表6 tolerations污点

插件的污点容忍策略

node_match_expressions

List<Object> 表7 nodeMatchExpression

插件的节点亲和配置

表4 resources字段数据结构说明

参数

是否必选

参数类型

描述

limitsCpu

String

CPU大小限制,单位:m

limitsMem

String

内存大小限制,单位:Mi

name

String

插件名称,固定为:metrics-server

requestsCpu

String

申请的CPU大小,单位:m

requestsMem

String

申请的内存大小,单位:Mi

表5 tolerations污点

参数

是否必选

参数类型

描述

key

String

污点键

effect

String

污点策略

operator

String

操作符

tolerationSeconds

Int

容忍时间窗

表6 nodeMatchExpresssion节点亲和配置

参数

是否必选

参数类型

描述

key

String

污点键

values

List<String>

节点亲和的名称

operator

String

操作符

请求示例

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

相关文档