K8s-Pod的扩容
K8s-Pod的扩容
背景
在实际生产系统中,我们经常会遇到某个服务需要扩容的场景,也 可能会遇到由于资源紧张或者工作负载降低而需要减少服务实例数量的 场景。此时可以利用Deployment/RC的Scale机制来完成这些工作。
手动扩容
- 通过
kubectl scale deployment $nginx-deploymenr --replicas 5
- 本质上是通过修改replicas 实现的
自动扩容HPA
从K8s1.1版本,添加了HPA(Horizontal Pod Autoscaler),其基于Master的的kube-controller-manager服务启动 参数–horizontal-pod-autoscaler-sync-period定义的探测周期(默认值为 15s),周期性地监测目标Pod的资源性能指标,并与HPA资源对象中的 扩缩容条件进行对比,在满足条件时对Pod副本数量进行调整。
工作原理
HPA控制器给予Metrics Server的API指标,基于扩容规则实现进行计算,得到Pod副本数量。
然后HPA—>给副本控制器发起scale操作
期望副本数 = ceil[当前副本数 * (当前指标 / 期望指标)] |
apiVersion: autoscaling/v2 |
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Joohwan!
评论