K8S的横向自动扩容的功能Horizontal Pod Autoscaling
2020-02-02 06:53
561 查看
K8S 作为一个集群式的管理软件,自动化、智能化是免不了的功能。Google 在 K8S v1.1 版本中就加入了这个 Pod 横向自动扩容的功能(Horizontal Pod Autoscaling,简称 HPA)。
HPA 与之前的 Deployment、Service 一样,也属于一种 K8S 资源对象。
HPA 的目标是希望通过追踪集群中所有 Pod 的负载变化情况,来自动化地调整 Pod 的副本数,以此来满足应用的需求和减少资源的浪费。
HAP 度量 Pod 负载变化情况的指标有两种:
- CPU 利用率(CPUUtilizationPercentage)
- 自定义的度量指标,比如服务在每秒之内的请求数(TPS 或 QPS)
如何统计和查询这些指标,要依托于一个组件——Heapster。Heapster 会监控一段时间内集群内所有 Pod 的 CPU 利用率的平均值或者其他自定义的值,在满足条件时(比如 CPU 使用率超过 80% 或 降低到 10%)会将这些信息反馈给 HPA 控制器,HPA 控制器就根据 RC 或者 Deployment 的定义调整 Pod 的数量。
Horizontal Pod Autoscaling可以根据CPU使用率或应用自定义metrics自动扩展Pod数量(支持replication controller、deployment和replica set)。
- 控制管理器每隔30s(可以通过–horizontal-pod-autoscaler-sync-period修改)查询metrics的资源使用情况
- 支持三种metrics类型 预定义metrics(比如Pod的CPU)以利用率的方式计算
- 自定义的Pod metrics,以原始值(raw value)的方式计算
- 自定义的object metrics
参考:
https://www.geek-share.com/detail/2764841600.html
https://www.kubernetes.org.cn/horizontal-pod-autoscaling
- 点赞 1
- 收藏
- 分享
- 文章举报
相关文章推荐
- kubernetes之hpa(HorizontalPodAutoscaling)扩展实现memory支持
- [置顶] kubernetes资源对象--Horizontal Pod Autoscaling(HPA)
- kubernetes RC 与 Deployment ,Pod,Horizontal Pod Autoscaling ,replica set资源
- kubernetes资源对象--Horizontal Pod Autoscaling(HPA)
- 使用ASP.NET Atlas AutoComplete Behavior或AutoComplete Extender实现自动完成功能(上)
- AutoCompleteTextView (自动完成输入框自动提示功能的菜单)
- Kubernetes 自动伸缩 auto-scaling
- 具有自动提示功能的菜单:AutoCompleteTextView
- gocode+auto-complete搭建emacs的go语言自动补全功能
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- 关于"Auto-Correct"——自动修正功能原理谈究
- How to disable autosize function when insert a object into powerpoint(Powerpoint中插入对象时如何关闭自动调整尺寸和布局功能)
- Kubernetes 笔记 012 Pod 的自动扩容与缩容
- Windows下关闭MySQL的自动提交(autocommit)功能
- terminal下历史命令自动完成功能history auto complete
- 【CDP-云设计模式】第8章,4.预定的自动伸缩模式(Scheduled Autoscaling Pattern)
- Asp.net 2.0 自定义控件开发[实现自动计算功能(AutoComputeControl)][示例代码下载]
- jquery.ui.autocomplete.js搜索自动完成功能