【云原生之kubernetes】kubernetes集群的HPA弹性伸缩
一、HAP介绍
1.HPA简介
1.HPA(Horizontal Pod Autoscaling) 自动更新工作负载资源(例如 Deployment 或者 StatefulSet), 目的是自动扩缩工作负载以满足需求。
2.HPA根据观察到的 CPU 利用率(或者,在自定义指标 支持下,根据 其他一些应用程序提供的指标)自动扩展复制控制器、部署、副本集或有状态集中的 Pod 数量。
2.HPA的实现原理
1.在k8s中的MetricsServer会持续采集各节点上Pod的指标数据;
2.HPA控制器通过MetricsServer的API来获取这些数据;
3.HPA会根据用户自定义的扩缩容规则进行计算,得到需要的目标Pod副本数。
4.当计算出的目标Pod副本数与当前pod副本不一致时,HPA控制器会向Pod的副本控制器(Deployment/RC)等发起Scale操作;
5.副本控制器则会调整Pod的副本数量,完成Pod的弹性伸缩功能。