关于腾讯云:kubernetes-降本增效标准指南-容器化计算资源利用率现象剖析

30次阅读

共计 4727 个字符,预计需要花费 12 分钟才能阅读完成。

作者:詹雪娇,腾讯云容器产品经理,目前次要负责腾讯星散群运维核心的产品工作。
张鹏,腾讯云容器产品工程师,领有多年云原生我的项目开发落地教训。目前次要负责腾讯云 TKE 集群和运维核心开发工作。

引言

降本增效从云计算倒退至今始终都是企业上云最外围的关注点,无论是在线业务还是大数据、AI 业务,都十分依赖算力的耗费,老本问题都是企业上云进行决策的外围因素。

从云计算自身来看,单纯把业务从 IDC 搬迁上云不批改任何业务架构,进步计算资源利用率须要十分大的运维老本和人力老本投入到革新业务适配弹性伸缩和业务可调度性中。随着云原生技术的遍及和推广,容器和 kubernetes 等技术可能人造的与业务、基础设施联合,简化资源管理、感知业务类型、主动弹性扩容和调度。

为帮忙企业在应用云原生技术时,更好的实现降本增效,腾讯云容器团队推出《kubernetes 降本增效规范指南》系列 ,包含且不限于基于成熟度模型提供资源利用率晋升倡议、多维度弹性资源应用倡议、智能负载举荐晋升精确度、腾讯云云原生老本治理领导手册等,与此同时也将 推出系列助力容器化降低成本的能力套件,如容器老本组成视图、老本预测评估工具、老本监控工具、老本定时报告等,以及配套的智能负载值举荐、老本感知调度、竞价实例回收动静控制器等,敬请期待。

本文中,腾讯云容器团队抽样调研了已受权的企业客户,对资源应用状况进行了一次实在的数据分析,以理论的行业数据介绍容器化对资源利用率的可晋升空间。

资源利用率数据分析

本次调研抽样了 1000+ 已受权的企业客户和集体客户的数据,其中企业客户 750,集体开发者 250+,统计节点数超 5W+。

IDC 的计算资源冗余,均匀利用率低至 10%

IDC 数据中心因为短少弹性能力,为保障业务应答突发申请等状况,广泛资源会存在冗余,资源使用率低。

首先咱们来看看寰球数据中心的利用率。麦肯锡的一份钻研报告示意[1],企业管理者在思考稳定性及进步可用性的同时,也应该将新的业务重点放在遏制效率低下和成本上升的问题上。调研结果显示,许多数据中心的服务器多达 30%的性能是“生效”的,而服务器的均匀每日利用率不到 3%;而在整个数据中心,服务器的均匀每日利用率通常最高仅为 6%。以上数据表明,数据中心的服务器老本及资源耗费方面会给企业造成微小的“节约”。

<center> 图 1: 经受权的采集个别腾讯云客户物理机均匀资源使用率状况(样本数 200+)</center>

上图是一个典型的客户机器白天业务忙碌,早晨资源闲暇的状况,因为物理设施弹性能力弱,计算资源往往要按业务峰值再加肯定的 Buff 来储备资源,甚至为保障业务稳定性要预留较大的资源 buff,因而在资源应用上会存在极大的节约。

IDC 上云后资源利用率进步无限

企业上云须要进行谨严粗疏的调研工作,包含收集云厂商硬件、网络环境、产品能力等内容,往往须要从多个不同的视角进行剖析,实际上云过程中第一步就是先将基础设施上云,包含计算资源、存储、服务器、数据库等,保障在业务和平台零碎尽量改变小的状况下,顺利迁徙上云。该步骤并不会显著进步理论的资源使用率,但有利于升高企洽购基础设施,以及建设和运维的老本。

<center> 图 2: 一般非容器化计算节点资源使用率剖析数据(样本数 4W+)</center>

根据上述调研样本的剖析,绝大多数非容器化的业务在计算资源利用率上整体不高,并且企业为了保障每个业务之前良好的隔离性,一台机器上个别只会部署一个业务,即每个业务都是独立部署且离开治理的,单个业务都会独占一部分专属资源。在此业务低谷期间,其余业务不能利用这部分专属的资源,以至造成资源节约。基础设施上云后,企业可依据业务的属性进行云化革新,充分利用云的弹性能力,让资源利用率进一步提高,升高 IT 投入老本。从上述理论调研数据分析来看,仅利用云 IaaS 层的弹性伸缩,来晋升资源利用率,其空间无限,并会给新业务革新和后续的运维带来额定的老本投入。

业务云原生化革新,资源利用率晋升最高可达 60%~70%

<center> 图 3: 一般节点与 TKE 节点资源使用率剖析(样本数:4W 个一般非容器化节点,1W 个 TKE 节点)</center>

客户容器化后整体均匀的 CPU 利用率从上图来看,整体进步并不多,次要起因是,尽管大量业务曾经容器化,但并未进行可动静扩容的革新。

<center> 图 4:局部配置了节点池弹性伸缩业务利用启用了 HPA 均匀资源使用率图示(样本 1000+TKE 节点)</center>

<center> 图 5:所有抽样样本中均匀资源使用率散布状况(样本数 1W+TKE 节点)</center>

从图 3、4、5 比照能够看到,不同企业容器化后,其资源利用率差别十分大,低的不到 10%, 高的可达 60%-70%。除了企业自身不同的业务属性之外,腾讯云原生团队还对抽样客户进行了深刻的调研和访谈,理解到不同企业架构部署上存在较大的差别,这是造成企业资源利用率不同的次要起因。

  1. 资源利用率低的企业,在应用容器时,后期更多仅关注在容器解决环境一致性的问题上,实际上并未充分利用好容器的弹性能力,并且在部署模型上,单节点的容器密度不高,导致整体资源利用率跟容器化革新前差别不大。
  2. 从理论数据看,业务即使曾经容器化,但在肯定工夫內的资源应用,依然存在波峰波谷不均的状况。因而,为了保障服务的可靠性和稳定性,个别会以流量峰值为基线去配置资源规格,以保障高并发时业务以良好的性能运行,然而过了峰值期之后(个别工夫占比拟小),业务回到峰谷状态,理论仅应用一小部分资源,从而导致在峰谷时段,造成大量的资源节约。
  3. 而资源利用率高的企业,在业务容器化后,更多利用了业务混合部署,大大提高了容器部署密度,让单节点容器密度均匀在 1:10,进而晋升资源利用率。
  4. 同时企业如果充分利用好了容器的弹性伸缩能力,资源利用率也是能够大幅晋升的。对于非容器化的、存在波峰波谷的业务,即便配置了弹性伸缩能力,启动速度也是分钟级的,也还是难以保障在短时间內启动大规模计算资源来应答高并发需要。而容器是秒级的启动速度,使得容器化的业务具备高密度、高弹性的个性,在面对突发访问量时也能轻松应答。在这种业务模式下,容器化利用不同级别的主动弹性伸缩能力,从而解决了在低谷期间的资源节约问题。

    容器弹性伸缩能力如下:HPA(Horizontal Pod Autoscaler):在达到用户自定义阈值(CPU 利用率、CPU 使用量等)时在 30s 內主动扩缩 pod 数量,当受到节点资源限度导致 Pod pending 时,触发节点层级的扩缩容,即 CA(Cluster Autoscaler):两种资源粒度的弹性伸缩能力保障客户在适合的工夫调配适合的资源,最大限度保障资源的高效利用。另外,基于 K8s 的调度编排能力,反对依照 Pod 实在负载进行动静调度,晋升节点资源利用率;在线业务低负载运行时,同时部署“对延时不敏感”的离线业务,进步资源利用率。

晋升资源利用率的关键点

腾讯外部容器化业务资源利用率也是衡量容器化深度的要害指标,依据腾讯云原生团队对容器弹性伸缩的实践经验,通过不同维度的弹性能力开展来看 容器化后资源利用率晋升的关键点, 首先看看 Kubernetes 各个组件的次要作用:

  1. HPA:维持利用的冀望状态(通过调节利用正本数)
  2. VPA:(Vertival Pod Autoscaler)预估利用的理论应用资源量
  3. 调度:驱动利用的冀望状态到资源的冀望状态的引擎
  4. CA:维持资源的冀望状态(通过调节节点数)

那什么是现实的弹性伸缩?怎么样的弹性伸缩能帮忙咱们更好的节约老本呢?简略点说,就是在用户须要的时候提供适合的资源。

  • 怎么保障在须要的时候伸缩?相干组件要够灵活,响应要快。
  • 怎么保障提供的资源适合?在计算 StatusApp/StatusRes 时要准确。

到这里,能够明确弹性伸缩的两个外围问题:

关键点 1: 灵敏度,能够从 HPA 扩容速度、CA 扩容速度、节点供给速度、业务扩容形式多维度进行晋升。

关键点 2: 精确度,从利用的冀望状态和资源的冀望状态为切入点,从进步 CA 扩容精确度 / VPA 举荐 request 的精确度等角度进行晋升。

资源利用率成熟度模型

针对本次调研的数据分析,腾讯云原生团队提出了容器化资源利用率成熟度模型。

第一阶段:传统部署模型,业务为应答不同时间段计算资源应用不同的状况,必须以最高应用资源的峰值加肯定的 buff 进行基础设施的洽购,均匀利用率升高。

第二阶段:简略容器化革新后的业务,上云并容器化革新,利用了容器进行业务混合部署,肯定水平进步了资源利用率。

第三阶段:业务进行微服务革新,业务可利用容器和云的弹性伸缩能力,联合 Kubernetes 的 HPA、VPA、CA 等能力,顶峰扩容、闲暇缩容,极大进步资源利用率。

第四阶段:极致利用云和容器化后的弹性,进步弹性伸缩灵敏度和精度,有离线业务的进行在离线混布,极致进步均匀资源利用率。

后续

本文通过理论企业业务数据来诠释容器化跟计算资源利用率的现状和基本原理,为助力后续企业应用云原生技术进行业务降本增效,腾讯云容器团队将推出系列的《kubernetes 降本增效规范指南》,包含但不限于资源利用率晋升倡议、多维度弹性资源应用倡议、智能负载举荐晋升精确度、腾讯云云原生老本治理领导手册等。与此同时也将打算推出系列的助力容器化降本老本的能力套件,如容器老本组成视图、老本预测评估工具、老本监控工具、老本定时报告等,以及配套的智能负载值举荐、老本感知调度、竞价实例回收动静控制器等。敬请期待。

特地鸣谢

感激以下客户对本次报告提供实在数据撑持。

作业帮,致力于为全国中小学生提供全学科的学习辅导服务,累计用户设施装置冲破 8 亿,月活用户约 1.7 亿,是中小学在线教育领军品牌。

作业帮于 2020 年 4 - 5 月份将局部业务逐步接入腾讯云容器服务 TKE,波及数千业务利用,数十万计算核数,极具规模化和复杂度,除却稳定性和效率之外,作业帮对老本也示意了高度关注。咱们以资源利用率作为切入点。

  • 顶峰时段的流量是平时峰段的 20 倍,是低峰时段(凌晨到 5 点左右)的上百倍,且流量回升曲线较陡。

因而,作业帮对于资源弹性调度的能力要求很高,在这种利用场景下,TKE 为其提供了弹性伸缩的整体解决方案,利用 HPA 依据设置阈值调整 pod 正本数,与 CA 联动管制节点数,以保障在高并发时业务仍以良好的性能运行。同时配合离在线混部、共享 GPU 等解决方案,容器化之后节点均匀 CPU 利用率从 10% 晋升到 30%,老本降落 40%,接口响应晋升 10%。

快看漫画,漫画行业当先 APP,以后漫画市场份额占有率超 50% 以上,APP 总用户量超过 2 亿,MAU 超 4000 万。公司于 2019 年 12 月份开始接入容器服务 TKE,到目前为止,近千个服务里 90% 的利用在容器中运行。快看漫画容器化之前,因为须要应答流动、假期、热门作品等多个场景,业务流量具备突发性和周期性,因而外围业务要有数倍容量的冗余,资源无奈最大化利用,还需手动扩缩容,人工干预较高。

TKE 针对此类场景提供了服务分级,优化 Request 资源;扩缩能力,HPA,定时扩缩;离线工作,业务波谷时执行等产品能力,容器化之后资源使用率晋升 30%,老本降落超 40%。

星散,主打社交驱动的会员电商平台,为电商平台会员提供美妆个护、手机数码、母婴玩具、水果生鲜等多品类的商品抉择。于 2019 年年底接入 TKE,目前罕用利用已根本实现容器化。星散反馈,容器化之前,机器的均匀 CPU 利用率在高峰期都不会超过 10%,节约极其重大。容器化之后总体 CPU 使用率达到 16.6%,老本节俭超过 50%。

【腾讯云原生】云说新品、云研新术、云游新活、云赏资讯,扫码关注同名公众号,及时获取更多干货!!

正文完
 0