Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局( 六 )

在 Kubernetes 的生态中,在多个维度、多个层次提供了不同的组件来满足不同的伸缩场景。如果我们从伸缩对象与伸缩方向两个方面来解读 Kubernetes 的弹性伸缩的话,可以得到如下的弹性伸缩矩阵。

Kubernetes 弹性伸缩全场景解析 (一):概念延伸与组件布局

cluster-autoscaler: kubernetes 社区中负责节点水平伸缩的组件,目前处在 GA 阶段 (General Availability, 即正式发布的版本)。HPA: kubernetes 社区中负责 Pod 水平伸缩的组件,是所有伸缩组件中历史最悠久的,目前支持 autoscaling/v1、 autoscaling/v2beta1 与 autoscaling/v2beta2, 其中 autoscaling/v1 只支持 CPU 一种伸缩指标,在 autoscaling/v2beta1 中增加支持 custom metrics,在 autoscaling/v2beta2 中增加支持 external metrics。cluster-proportional-autoscaler: 根据集群的节点数目,水平调整 Pod 数目的组件,目前处在 GA 阶段。vetical-pod-autoscaler: 根据 Pod 的资源利用率、历史数据、异常事件,来动态调整负载的 Request 值的组件,主要关注在有状态服务、单体应用的资源伸缩场景,目前处在 beta 阶段。addon-resizer: 根据集群中节点的数目,纵向调整负载的 Request 的组件,目前处在 beta 阶段。在这五个组件中, cluster-autoscaler、 HPA、 cluster-proportional-autoscaler 是目前比较稳定的组件,建议有相关需求的开发者进行选用。

推荐阅读