Horizontal Pod Autoscaler
水平的,通过监控度量指标来做扩缩容。
HPA 接口类型
- HPA v1 为稳定版自动水平伸缩,只支持CPU指标。
- HPA v2beta1版本,支持CPU、内存和自定义指标
- HPA v2beta2版本,支持CPU、内存、自定义指标和ExternalMetrics(基于公有云提供的指标)
使用HPA前提条件
- 必须安装metrics-server或者其他自定义的metrics-server,也就是必须有监控采集度量指标的服务。
- 必须配置
**requests**参数,.spec.containers.resources.requestsapiVersion: apps/v1kind: Deploymentmetadata:creationTimestamp: nulllabels:app: hpa-nginxname: hpa-nginxspec:replicas: 1selector:matchLabels:app: hpa-nginxstrategy: {}template:metadata:creationTimestamp: nulllabels:app: hpa-nginxspec:containers:- image: nginx:latestname: nginxresources:requests:cpu: 10mstatus: {}
给一个deployment 配置 HPA
#给一个deployment 配置 HPA kubectl autoscale deployment hpa-nginx --cpu-percent=10 --min=1 --max=10
