5. 弹性工具推荐
1) 开源的弹性工具推荐
目前在虚拟机(Virtual Machine)维度的水平扩缩容暂无主流或广泛使用的开源工具,但容器(Container)维度的水平扩缩容则以Kubernetes的调度层弹性组件使用最为广泛。
• Kubernetes的调度层资源主要分为两个维度
。 Node级别:即多个服务器组成的一个集群资源池。
。 Pod级别:是Kubernetes中最小的部署单元,代表一个运行的时机应用程序。
Kubernetes的调度层弹性主要是根据业务负载的变化,自动调整应用对一个副本的数量或资源的大小,从而实现调度层的伸缩。Kubernetes的弹性组件分为两类:水平伸缩(HPA)组件和垂直伸缩(VPA)组件。
• 容器资源的水平伸缩(HPA)
Kubernetes通过Horizontal Pod Autoscaler组件,根据资源使用率或者自定义指标实现pod副本的自动增加或减少,其工作原理如下:
• 容器资源的垂直伸缩(VPA)
Kubernetes通过Vertical Pod Autoscaler(VPA)组件,根据容器资源使用率,自动设置CPU和内存调整的请求,允许在pod上进行资源的调整。VPA会基于pod资源的使用情况,自动为集群设置资源占用的限制,从而让集群将pod调度到有足够的资源的最佳节点上,其工作原理如下:
《CloudOps云上自动化运维 白皮书2.0》—— 五、弹性能力Elasticity——5.弹性工具推荐(2):https://developer.aliyun.com/article/1222512?groupCode=ecs