弹性伸缩是一种根据用户实际业务需求自动调整计算资源的能力。ECK为用户提供了容器水平伸缩(HPA)与节点自动伸缩(cluster-autoscaler)两个组件。
组件名称 | 简介 | 适用场景 |
---|---|---|
HPA | Kubernetes的工作负载类型中,支持定义Pod的副本数,以适应不同程度的负载。但负载升高,可以调高Pod的副本数来调用更多的资源。对此,Kubernetes官方提供了HPA,来基于CPU或者内存等资源利用率调整工作负载的副本数。 | 可以用于调整ReplicationController、Deployment、ReplicaSet和StatefulSet中Pod的副本数,但不适用于无法扩缩的对象,比如DaemonSet。 |
cluster-autoscaler | CA(cluster-autoscaler)是用来弹性伸缩Kubernetes集群的。我们在使用Kubernetes集群经常问到的一个问题是,我应该保持多大的节点规模来满足应用需求呢? cluster-autoscaler的出现解决了这个问题,它可以自动地根据部署的应用所请求的资源量来动态的伸缩集群。 | 适合所有场景。 |