kubernetes-handbook/concepts/custom-metrics-hpa.md

1.8 KiB
Raw Blame History

自定义指标HPA

Kubernetes中支持不仅支持CPU、内存为指标的HPA还支持自定义指标的HPA例如QPS。

设置自定义指标

kubernetes1.6

在设置定义指标HPA之前需要先进行如下配置

  • 将heapster的启动参数 --api-server 设置为 true

  • 启用custom metric API

  • 将kube-controller-manager的启动参数中--horizontal-pod-autoscaler-use-rest-clients设置为true并指定--master为API server地址--master=http://172.20.0.113:8080

在kubernetes1.5以前很容易设置,参考1.6以前版本的kubernetes中开启自定义HPA而在1.6中因为取消了原来的annotation方式设置custom metric只能通过API server和kube-aggregator来获取custom metric因为只有两种方式来设置了一是直接通过API server获取heapster的metrics二是部署kube-aggragator来实现。

我们将安装聚合的API server来实现自定义指标的HPA。

kuberentes1.7

已经内置了apiregistration.k8s.io/v1beta1 API可以直接定义APIService

apiVersion: apiregistration.k8s.io/v1beta1
kind: APIService
metadata:
  name: v1alpha1.custom-metrics.metrics.k8s.io
spec:
  insecureSkipTLSVerify: true
  group: custom-metrics.metrics.k8s.io
  groupPriorityMinimum: 1000
  versionPriority: 5
  service:
    name: api
    namespace: custom-metrics
  version: v1alpha1

参考

1.6以前版本的kubernetes中开启自定义HPA

1.7版本的kubernetes中启用自定义HPA