更新时间:2024-04-15 GMT+08:00

metrics-server

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

Metrics Server是集群核心资源监控数据的聚合器,在UCS中Metrics Server的对应插件为“metrics-server”,您可以在UCS的集群控制台中快速安装本插件。

安装本插件后,可在集群控制台内的“负载伸缩”页签下,创建HPA策略,具体请参见创建工作负载弹性伸缩(HPA)

社区官方项目:https://github.com/kubernetes-sigs/metrics-server

约束和限制

目前metrics-server插件仅支持UCS本地集群,暂不支持其他UCS集群。

安装插件

  1. 进入UCS内的集群控制台。

    • 如果是未加入舰队集群,直接单击集群名即可进入集群控制台。
    • 如果是已加入容器舰队的集群,先进入对应容器舰队控制台,选择左侧 “集群管理”内的“容器集群”,再进入对应集群控制台。

  2. 左侧导航栏内选择“插件管理”,在“可安装插件”中单击metrics-server的安装按钮。
  3. 在“安装插件”页面进行规格配置,该插件可配置“单实例”、“高可用”和“自定义”三种规格,选择后单击“安装”。

    • 在本地集群中,metrics-server插件的最大实例数依赖manage节点数量,如果想要使用“自定义”规格创建更多的metrics-server实例,请先对manage节点进行扩容。
    • manage节点在本地集群内使用tag和taint进行管理,因此对manage节点进行扩容只需要为集群内非manage节点打上标签和污点即可,具体步骤如下:
      1. 进入UCS集群控制台,单击左侧导航栏内的“节点管理”。
      2. 选中待转的非manage节点并单击“标签与污点管理”。
      3. 单击新增批量操作,新增一条更新内容:“添加/更新”-“K8S标签”-“cop.manage”-“manage”。
      4. 单击新增批量操作,新增一条更新内容:“添加/更新”-“污点(Taints)”-“role”-“manage”-“NoSchedule”。
      5. 完成上述两条后,单击确定即可完成manage节点的扩容。

  4. 插件安装完成后,在已安装插件内单击metrics-server插件,可以看到具体的插件实例在集群内的部署情况。

升级插件

  1. 登录UCS内的集群控制台,在左侧导航栏里选择“插件管理”。
  2. 在“已安装插件”内,如果版本标签旁边显示“存在新版请升级”提示,那就可用单击metrics-server下的升级按钮对插件进行升级。

    • 如果升级按钮处于冻结状态,则说明当前插件版本是最新的版本,不需要进行升级操作。
    • 升级“metrics-server”插件时,会替换原先节点上的旧版本的“metrics-server”插件,安装最新版本的“metrics-server”插件以实现功能的快速升级。

  3. 参考安装插件内的参数说明配置参数后,单击“升级”即可升级metrics-server插件。

编辑插件

  1. 登录UCS内的集群控制台,在左侧导航栏里选择“插件管理”。
  2. 在“已安装插件”内选择metrics-server,单击插件页签下方的“编辑”按钮。
  3. 参考安装插件内的参数说明配置参数后,单击“确定”即可修改metrics-server插件的相关配置。

卸载插件

  1. 登录UCS内的集群控制台,单击左侧导航栏内的“插件管理”。
  2. 在“已安装插件”内找到metrics-server,单击“卸载”按钮。
  3. 在弹出的“卸载插件”按钮中选择“是”,即可将metrics-server从集群内删除。

    卸载metrics-server插件后,需要安装其他提供Metrics API的插件,否则已创建的负载伸缩策略将会变得不可用,请谨慎卸载.