开发者学堂课程【5分钟玩转阿里云容器服务:弹性-弹性伸缩概述】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/1038/detail/15323
弹性-弹性伸缩概述
内容介绍
一、弹性-弹性伸缩概述
一、弹性-弹性伸缩概述
通过今天的内容大家可以了解到为什么要使用弹性,弹性体系应该如何构建以及容器服务的弹性,在构建的过程中能带给大家什么样的能力。
随着云计算的增长,大量的行业领域开始考虑使用云原生的方式上云不仅是互联网企业,越来越多的传统企业,也开始用云原生方式做 it 架构转型,同时在疫情时代成本逐渐成为大家的焦点。
越来越多的企业开始考虑通过降本增效的方式来提升整个集群的利用率和整个资源的使用率,降本增效大体可分为这三个阶段。
首先做一个基本的容量成本规划,然后通过可视化的方式去验证这个规划,发现哪里存在浪费,最后通过一些途径去优化掉这些浪费点,这些途径当中最重要的就是通过弹性去解决一些问题。
所以在云原生疫情时代,IT 的降本增效最终落到执行层面,弹性往往是一个 b 选项。那在 IT 架构中如何去构建弹性体系,如果 IT 架构分成三个层次的话。
最上面一层是应用层,那应用层上面如果做弹性实际上分成两个维度,一个是通用性的维度,一个是领域性的维度,通用性维度下的弹性提供应用业务层的泛化,弹性能力是不区分业务场景的,比如针对容器的水平扩展或者是容器的纵向伸缩,领域维度负责提供典型的业务场景的弹性能力,比如 siris spark,它实现的就是通过service 的方式去弹性的交付大数据作业的一些场景。
第二层是应用平台层,也就是看 k8s 这一层那这一层分成几个方向,首先是系统组件的稳定性,k 8s 集群的规模可能随着客户的业务场景不断的在变化,对系统组件会带来比较大的挑战,需要根据集群的规模来动态的伸缩一些系统组件的副本,来实现高可用的应用平台层。
另外一个就是怎么去保证应用平台层的资源稳定的交付。资源交付的形式可分为有节点和无节点两种,最下面的是云原生的基础设施层,知道能够在 k8s 里解决的问题都是能够抽象成 k8s 对对象的问题,但是有些时候是很难在 k8s 里面做抽象的,比较典型的像是存储中间件和数据库上面的一些扩缩容,这部分能力是在云原生基础设施这一层需要去做弹性伸缩建设的。
如果把构建弹性体系的逻辑转换成容器服务里的腾讯组建的话,那就是这张图所呈现的样子。
应用层里边,分成通用模型和领域模型通用模型里边,主要提供的组件有 HP,它是容器的水平伸缩,有 vpa 是容器的纵向伸缩,还有格尔,hba 是容器的定时声速,还有一个 recis,它是根据集群的规模去做副本的,绳索那在领域弹性里边,比如说向事件驱动的领域里边,提供了缇达的解决方案,精细化调度场景下,提供了elastic workload。
另外在 spark 和 price 头上面都做了一些增强,在资源层面刚才提到了分成有节点和无节点的伸缩,有节点上面主要投入的是在 class o to scale,那在无节点上面主要做的是 virqulate以及 virtuulate auto scale了。Kms1.20版本之后提供的是ack close 该就了,替代了不去 q 不 little 都是 gay了。
在基础设施这一层,刚才提到了需要有存储中间件和数据库上面的弹性,存储上面有 CSI recite 可以做到当云盘或者当纳斯盘到达一定阈值之后去做动态的扩容。
数据库上面和 POLO DV 有过协作,当上层的应用有伸缩时,数据库可以进行必要的 read only 的副本、绳索或者是扩缩接入层的带宽。所以从组件的维度卡容器服务的弹性组件,如这三个视图所示,在各个维度上都提供了丰富的弹性能力,能够帮助构建出完整的弹性体系。