1月23日消息,腾讯云宣布在其容器服务产品TKE(Tencent Kubernetes Engine)支持新一代云原生扩缩容工具Karpenter。相比K8S(Kubernetes)社区标准弹性方案CA(Cluster Autoscaler),Karpenter 拥有更精细化的弹性伸缩能力,能够让用户无需手动或过度配置计算资源,以最优成本实现云原生技术转型。
目前,腾讯云Karpenter on TKE已经在泰国正大集团的零售业务中落地应用。得益于Karpenter on TKE的能力支持,正大零售业务实现平滑跨云迁移,在支撑业务系统稳定运转的前提下,实现了IT资源成本和运维成本的持续优化。
(CP AXTRA首席技术与数据官兼集团电子商务官Tarin Thaniyavarn、腾讯云国际副总裁兼东南亚董事总经理陈锐)
作为专为K8S( Kubernetes) 构建的开源自动扩缩容工具,Karpenter于2021年11月首次发布并开源。2023年底,Karpenter被捐献给云原生计算基金会(CNCF),成为其官方项目之一。
在此之前,K8S主流的扩缩容方案是K8S社区标准弹性方案CA。CA主要基于节点资源利用率来实现伸缩。需求增加时,CA可以根据预设的节点模板和调度策略,通过调整节点组的实例数量来实现扩容;需求降低时,CA可以通过有效整合利用资源和终止不必要的节点而减少成本。
但CA配置和管理较为复杂,通常需要专业的运维人员针对不同的资源需求模式创建众多复杂的节点组。另外,由于CA默认目标是使节点利用率最大化,这导致它无法感知机器价格,所以在处理按量计费、竞价实例以及不同机型不同价格时的扩容问题通常会显得力不从心。
此外,CA在处理大规模或突发工作负载扩展时可能会有延迟,在缩容时还可能导致资源碎片化,造成成本浪费。在大规模集群中的应用场景下,CA也还没有得到性能和稳定性上的可靠验证。
Karpenter简化了节点组的管理并优化了伸缩算法,能够实现配置最少、成本最优,成为了解决CA扩缩容方案短板的最佳答案。
Karpenter摒弃了CA方案中的节点组的形式,而采用基于机型白名单的管理方式。用户在配置中声明业务可接受的各种属性,如代次、规格、计费模式以及地域等内容。当面临扩容需求时,Karpenter 就会自动从配置白名单中,找到价格最低、库存充足、规格最不浪费的节点进行扩容,大大简化了管理和配置流程,减少了运维成本。
同时,在调度决策上,Karpenter可以按照从大到小的顺序排列Pod,先将较大的Pod适配到实例中,这种排序方式有助于更有效地利用实例资源,避免资源在Pod分配过程中的不合理浪费。数据显示,用户从 CA 迁移到karpenter通常可以有 30% 以上的成本节省。
在原生Karpenter技术上,腾讯云Karpentor on TKE还结合额外打造了节点扩容联动Pod负载感知调度、重调度、内存压缩等技术,解决了Karpenter扩容后部分节点利用率不高的问题。
近年来,围绕着提升容器服务的应用部署、成本优化、弹性等方面,腾讯云也在持续投入,提升产品能力。
在成本优化方面,腾讯云容器服务将Finops理念与Kubernetes结合起来,打造了TKE Housekeeper 产品 ,提供包含成本洞察、成本优化、节点运维等在内的多项能力,助力客户提升利用率。针对越来越多的业务场景,TKE Housekeeper 近期也推出内存压缩、离线资源提取、错峰调度等多项能力。
在弹性方面,腾讯云容器服务TKE Serverless推出更加轻量的资源调度系统,将pod 端到端创建速度优化到秒级,批量创建性能提升 50倍,支撑某互联网客户5分钟内弹性扩容 15万核资源。
腾讯云容器服务直接管理的 CPU 核心规模已经达到 6000万核心。在腾讯内部,微信、视频号、支付、游戏等腾讯核心业务都运行在腾讯云容器服务上;在腾讯外部,电商、游戏、教育、金融、政府、企业等多个领域的头部客户,也都选择了腾讯云容器服务。
在Gartner2024《容器管理魔力象限》报告中,腾讯云入围并位列挑战者象限。这是腾讯云容器服务连续第二年取得这一认可。