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

弹性伸缩

简介

当使用bursting插件Pod弹性到CCI 2.0上时,metrics-server插件无法采集这部分Pod的指标数据,可能会影响HPA工作。通过阅读本章节,可以使用云原生监控插件替换metrics-server插件,以使HPA功能正常。

操作步骤

  1. 安装“云原生监控插件”。

    1. 登录CCE控制台。
    2. 选择CCE集群,单击进入CCE集群总览页面。
    3. 在导航栏左侧单击“插件中心”,进入插件中心首页。
    4. 选择“云原生监控插件”,单击“安装”。
      图1 安装云原生监控插件

    5. 在安装插件页面,进行规格配置,部署模式选择“Server模式”。

      如果需要在Agent部署模式下使用HPA功能,请联系技术支持人员。

  2. 通过云原生监控插件,提供系统资源指标。

    • 如果CCE集群中未安装metrics-server插件,请开启Metric API,详情请参见通过Metrics API提供资源指标。配置完成后,可使用Prometheus采集系统资源指标。
    • 如果CCE集群中已安装metrics-server插件,可以选择以下任意一种方式进行处理:
      • 方式一:请卸载“Kubernetes Metrics Server”插件后,开启Metric API。
        1. 登录CCE控制台。
        2. 选择CCE集群,单击进入CCE集群总览页面。
        3. 在导航栏左侧单击“插件中心”,进入插件中心首页。
        4. 选择“Kubernetes Metrics Server”插件,单击“卸载”。

        5. 开启Metric API,详情请参见通过Metrics API提供资源指标。配置完成后,可使用Prometheus采集系统资源指标。
      • 方式二:修改APIService对象。

        需要更新APIService对象“v1beta1.metrics.k8s.io”:

        apiVersion: apiregistration.k8s.io/v1
        kind: APIService
        metadata:
          labels:
            app: custom-metrics-apiserver
            release: cceaddon-prometheus
          name: v1beta1.metrics.k8s.io
        spec:
          group: metrics.k8s.io
          groupPriorityMinimum: 100
          insecureSkipTLSVerify: true
          service:
            name: custom-metrics-apiserver
            namespace: monitoring
            port: 443
          version: v1beta1
          versionPriority: 100

        可以将该对象保存为文件,命名为metrics-apiservice.yaml,然后执行以下命令:

        kubectl apply -f metrics-apiservice.yaml

        执行kubectl top pod -n monitoring命令,如果显示如下,则表示Metrics API能正常访问:

        # kubectl top pod -n monitoring
        NAME                                                      CPU(cores)   MEMORY(bytes)
        ......
        custom-metrics-apiserver-d4f556ff9-l2j2m                  38m          44Mi
        ......

        卸载插件时,需要执行以下kubectl命令,同时删除APIService对象,否则残留的APIService资源将导致metrics-server插件安装失败。

        kubectl delete APIService v1beta1.metrics.k8s.io

相关文档