容器水平伸缩(HPA) 按需更改 ServiceMonitor 自定义资源的名称 namespace: default 按需更改 ServiceMonitor 自定义资源的所在的命名空间 annotations: arms.prometheus.io/discovery: 'true' spec: endpoints: interval: 15s 按需更改指标采集间隔 port: '9100' 指标采集端口名称,需要与 traefiksvc Service 的指标采集端口的名称保持一致 path: /metrics 指标采集路径,需要与 traefiksvc Service 的指标采集路径保持一致 namespaceSelector: matchNames: default Service 所在命名空间,需要与 traefiksvc Service 所在命名空间保持一致 selector: matchExpressions: key: workload Service 标签 key,需要与 traefiksvc Service 的 label 的 key 保持一致 operator: In values: traefik Service 标签 value,需要与 traefiksvc Service 的 label 的 value 保持一致 保存后查看 apmprome 命名空间下 targetallocator pod 日志,能看到有类似的日志输出: plaintext {"level":"info","ts":"20260818T11:09:10Z","logger":"allocator","msg":"add target item","allocator":"consistenthashing","targethash":"serviceMonitor/default/servicemonitor/0192.168.3.47:91004fd2cad7ccfcf73e","jobname":"serviceMonitor/default/servicemonitor/0","collectors count":1} 1~3 分钟后,匹配 Service 数量和匹配 Target 数量也变成 1。 在指标探索页面输入 traefikentrypointrequeststotal 能看到有指标数据,说明指标数据成功上报。 7、创建 HPA 并触发缩容到 0。 在策略菜单中,切换到 default 命名空间。 方式一:通过 Yaml 方式创建 HPA,点击 Yaml创建,输入以下 HPA yaml。 plaintext apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler metadata: name: hpatozero