- 文档首页
容器服务
容器服务 VKE
用户指南
弹性伸缩
工作负载弹性伸缩
指标伸缩(HPA)
基于自建 Prometheus 实现弹性伸缩
指标伸缩(HPA)
基于自建 Prometheus 实现弹性伸缩
基于自建 Prometheus 实现弹性伸缩
当用户使用自建 Prometheus 监控集群时,可以在集群中部署开源 Prometheus Adapter,用于对接自建 Prometheus,实现基于自定义指标的容器水平伸缩(HPA)。本文介绍如何在集群中部署开源 Prometheus Adapter,并实现 HPA。
差异性说明
您可以使用自建 Prometheus 或 托管 Prometheus 对接容器服务集群,并实现基于指标的容器水平伸缩(HPA)。对接不同系统时的主要差异,如下所示。 Prometheus adapter 组件与开源 Prometheus adapter
托管 Prometheus 与自建 Prometheus
前提条件
- 已创建集群,且集群运行状态正常。详情请参见 创建集群。
- 已完成自建 Prometheus 服务搭建,且保证 VKE 集群能够正常访问该服务,采集指标数据。
- 完成本地环境(Linux/Mac)的配置,包括:
- 安装并完成配置 Helm 工具,确保 Helm 能正常连接到指定的 Helm 仓库。
- 已通过 kubectl 连接目标集群。具体操作说明,请参见 连接集群。
使用限制
- 在修改 Prometheus URL 和配置鉴权时 ,若配置错误可能导致 Prometheus Adapter 无法正常获取指标数据 ,进而影响 HPA 的弹性伸缩功能。
- 拉取镜像时,若指定的镜像架构与 Kubernetes 集群节点架构不一致 ,可能导致镜像无法在集群中正常运行。
- 配置自定义指标时,若指标配置错误,HPA 将无法按照预期的自定义指标进行弹性伸缩,可能造成资源浪费或业务性能下降。
操作步骤
步骤一:拉取 Chart
- 在本地主机中,执行以下命令,拉取 Prometheus-adapter Chart 到本地。
- 解压拉取到的 Chart 文件,并进入解压后的文件夹(本文以文件名prometheus-adapter-4.11.0.tgz为例)。
步骤二:修改配置
- 在本地环境中打开values.yaml文件,将其中的 Prometheus URL 修改为自建 Prometheus 的 Query 地址。若不需要端口号,可直接删除。
-
- 若自建 Prometheus 配置了 Basic Auth 鉴权,则需要在values.yaml中添加extraArguments字段,进行 Prometheus Adapter 鉴权。鉴权 Token 需通过在线或离线工具,依据 Prometheus Basic Auth 的账号和密码生成,并添加到相应配置项中。
-
步骤三:构建镜像
- 在本地拉取与 Kubernetes 集群节点架构一致的镜像(本文以linux/amd64架构为例)。
- 为拉取的镜像打标签,并指定目标镜像仓库地址、镜像名称和版本号。本文以doc-cn-beijing.cr.volces.com/vke/prometheus-adapter-demo:v1.0为例。
- 将镜像推送到目标镜像仓库。如果您使用火山引擎镜像仓库产品,更多操作详情,请参见 推送和拉取镜像。
- 修改values.yaml文件中的镜像路径,指向推送后的镜像地址。
-
步骤四:配置自定义指标
- 打开values.yaml中关于自定义指标的配置部分,将default设置为false,表示不启用默认配置。
-
- 配置custom自定义规格字段,以网络指标container_network_receive_bytes_total和container_network_transmit_bytes_total为例,配置示例如下。
步骤五:安装 Chart
在prometheus-adapter文件夹下,执行以下命令,安装 Chart。其中prom-adapter可根据需求换成其他名称。
查看配置
Pormetheus-adapter 安装完成后,登录集群,确认相关工作负载、配置项均正常。
- 在集群管理页面的左侧导航栏中,选择 工作负载 > 无状态负载,在列表中确认工作负载运行正常。
-
- 在集群管理页面的左侧导航栏中,选择 配置管理 > 配置项,查看配置项。
-
- 在集群管理页面的左侧导航栏中,单击 工作负载 > 对象浏览器,在 分类 下拉菜单中选择 API Group,查看 API Group。
-
结果验证
- 在集群中创建工作负载。本示例以创建无状态负载(Deployment)为例。
- 创建与工作负载关联的 HPA,指定按照网络指标进行弹性伸缩。
- 查看工作负载详情,选择 弹性伸缩 页签,即可查看当前工作负载的 HPA 配置。实现基于自建 Prometheus 的工作负载水平伸缩。
最近更新时间:2025.10.23 11:11:16