y55.第三章 Kubernetes从入门到精通 -- HPA控制器及metrics-server(二八)

11.HPA控制器及metrics-server

11.1 HPA自动伸缩pod数量

kubectl autoscale 自动控制在k8s集群中运行的pod数量(水平自动伸缩),需要提前设置pod范围及触发条件。

k8s从1.1版本开始增加了名称为HPA(Horizontal Pod Autoscaler)的控制器,用于实现基于pod中资源(CPU/Memory)利用率进行对pod的自动扩缩容功能的实现,早期的版本只能基于Heapster组件实现对CPU利用率做为触发条件,但是在k8s 1.11版本开始使用Metrices Server完成数据采集,然后将采集到的数据通过API(Aggregated API,汇总API),例如metrics.k8s.io、custom.metrics.k8s.io、external.metrics.k8s.io,然后再把数据提供给HPA控制器进行查询,以实现基于某个资源利用率对pod进行扩缩容的目的。

控制管理器默认每隔15s(可以通过–horizontal-pod-autoscaler-sync-period修改)查询metrics的资源使用情况
支持以下三种metrics指标类型:
	->预定义metrics(比如Pod的CPU)以利用率的方式计算
	->自定义的Pod metrics,以原始值(raw value)的方式计算
	->自定义的object metrics
支持两种metrics查询方式:
	->Heapster
	->自定义的REST API
支持多metrics

猜你喜欢

转载自blog.csdn.net/qq_25599925/article/details/124850302