白话Kubernetes运维之容器应用资源运营管理

白话Kubernetes运维之容器应用资源运营管理

作者: 牛汉达 2021-08-10 07:27:41

云计算 技术最终也是需要为运营所服务。每一种可推广的新技术的出现,也都是对原运营模式的一种提升。如何降低成本、提高资源利用率,是每一个资源管理者必定要面临的问题。

[[416424]]

本文转载自微信公众号「匠心独运维妙维效」,作者匠心独运维妙维效。转载本文请联系匠心独运维妙维效公众号。

技术最终也是需要为运营所服务。每一种可推广的新技术的出现,也都是对原运营模式的一种提升。如何降低成本、提高资源利用率,是每一个资源管理者必定要面临的问题。本文将就云原生生态下,容器技术的资源如何分配、如何管理,结合G行的容器云平台的实践结果,介绍并分享给大家。

在文章最初,我们首先提出三个问题,并带着问题进行探讨。

Q:虚机应用和容器应用的资源分配区别是什么?

Q:如何提高容器服务的资源利用率?

Q:容器平台的资源该如何管理?

先聊聊虚机应用资源,系统管理员在进行物理机切分的时候,通常会有几套标准资源分配模板,例如4C8G,16C32G等等,当我们的项目经理根据应用资源评估,申请对应虚机镜像后,我们最开始的应用资源就已经框定,之后项目开发完毕,进行非功能测试,我们会得到不同的常稳CPU使用率,例如20%、40%。然后考虑到虚机扩容的复杂性和资源降配的管理机制,最终我们在生产上得到的预期资源使用率会在一个范围内波动。总结一下这种资源分配模式,是以资源为模板(定值),应用为适配(不定值)的一种资源分配方式。这种模式我们可能会面临一些问题,例如降配的阈值根据不同类型的应用需要丰富的经验才可以拿捏的住,例如当应用即使在最小资源模板下也低于降配阈值时,存在资源浪费。例如当应用需要调整资源模板时,需要重新进行非功能测试。在这种模式下,目前金融机构普遍的CPU资源平均利用率都在10%-20%,存在可提升空间。

那么对于容器应用来说,我们的资源该如何分配呢?首先我们先来了解下k8s容器在声明机制下的资源参数。

request(资源请求量)容器启动时的最低资源分配值,如果集群不满足该资源请求,容器服务无法启动。

limit(资源约束量)容器最大能够请求到的资源。

图1

结合CPU的时间片机制、k8s的调度策略以及容器快速扩容能力。我们可以畅想下应用资源理想的使用场景:常稳TPS使用率在request值和limit值之间,峰值TPS使用小于limit值。然后在划分CPU密集型应用和非密集型应用类别之后,我们还可以对节点资源进行一定程度的超分,以达成我们资源共享的目的。那么以此理想场景下,可实践的资源分配策略需要优秀的非功能测试团队以及合理的资源计算分配模型。我们可以把此类机制总结为以应用需求为依据(定值),资源进行适配(不定值)的一种资源分配方式。我们期望自此模型下运行的应用平均CPU资源利用率达到20%-40%,同时保障生产的稳定性。

那么我们如何把这种高效的资源分配方式进行落地呢?首先,笔者相信在容器平台建设之初,因为需求方需要时间进行思维模式转变,平台需要加快推动应用容器化策略,肯定会存在资源的浪费情况,可能某天我们可爱的平台管理员在巡检时发现,集群资源已经紧张了,但是上面的应用连10%的CPU使用率都不到。我们就需要想办法扭转这个问题。G行结合容器技术进行了大量的实践,决定首先从非功能测试方面入手。首先我们摒弃掉固定的资源模板,为应用服务准备一个足够大的limit值,对其未来几年常稳TPS下的资源使用情况请进行测试,得到实际使用量(current),再通过不同的应用类型及一定的冗余值,计算出生产环境资源最大分配的建议值(limit),request值根据应用灾备级别取limit的25%-100%不等(涉及到k8s驱逐策略)。同时我们也摒弃掉了虚机拐点的测试方式,推动根据常稳TPS的阶梯式调整,测试出在不同倍数下的资源实际使用量,可按一定比例转化为POD数量,为生产应用管理员提供容量预测数据。以此模式下上线的系统资源的使用率明显得到了提升,节点上能够承载的服务数量也达到了理想场景,同时在理想情况下,应用服务达到常稳TPS后的资源使用率为定值,风险得到了把控。最后根据容量预测数据,我们也可以快速的调整POD服务数量或容器limit值。

图2

当然,在介绍完资源分配策略后,我们也需要配套的资源管理策略。笔者调研过一些同业的管理方式,比较常用的是根据使用率砍掉一定量的request值,保持limit值不变。基于各家自研的或开源的调度器及优秀的调度策略,这是一种过渡或可长期使用的方案。当然缺点大家也可以想一下,一头(request)限制住了,另一头(limit)却放开,在未来不可预期的野蛮申请下,可能导致集群超分过重,产生雪崩等异常情况。那么优秀的资源管理策略的制定,则是平台管理层必须要进行思考及实践的工作。

G行结合实践经验,从应用等级划分入手,持续改进容器平台资源运营管理策略。根据应用系统灾备等级对limit和request比例进行规范要求,重要系统采取保守策略,一般系统采用高效策略;根据应用服务CPU使用类型,优化服务调度策略,规避高风险场景;根据应用服务特殊需求,划分专用节点,缓释关联故障发生等等,结合平台容量周报、超分阈值、服务数量等,不断地磨合各类应用系统,持续优化资源运营策略。当然,优秀的管理策略也同样需要不断强化的技术能力、可落地的执行方案,技术、方案、管理三者相结合,才能真正的把资源使用“提“起来,把成本”降“下来。

图3

总结

 

最后,资源使用一直是业内持续研究的方向,同时容器资源的管理也不单单是PaaS层的优化,node节点的资源切分比例,网络的带宽限制等等因素都会最终影响到我们的资源管理策略,这也是资源统筹的难点。本文以三个问题入手,结合G行实践经验,重点介绍了PaaS层CPU方面的资源运营策略,希望能以此文和各位碰撞出思维的火花,感谢各位读者阅读。

 

文章来源网络,作者:管理,如若转载,请注明出处:https://shuyeidc.com/wp/229896.html<

(0)
管理的头像管理
上一篇2025-04-18 23:50
下一篇 2025-04-18 23:51

相关推荐

  • jsp空间购买和交换数据空间怎么买,有哪些注意事项?

    购买JSP空间时,是否考虑过数据交换空间的性能?简米科技(2003年始创,23年行业沉淀)与酷番云(工信部一类增值电信全牌照)这类持牌自营机房的服务商,能确保数据交换的高效稳定,是值得优先选择的合作伙伴,为什么JSP空间需要搭配独立的数据交换空间从JSP应用特性看数据交换需求JSP基于Java技术,常用于企业级……

    2026-08-11
    0
  • 建网站用香港空间效果怎么样,香港空间稳定吗?

    建网站用香港空间,对于创建网站资产来说,核心价值在于免备案和全球带宽优势,尤其适合外贸、跨境电商和需要快速启动的项目,但你必须权衡国内访问延迟,并选择有资质的服务商以保证资产安全,香港空间的核心优势与适用边界免备案:节省时间就是节省成本国内服务器需要备案,通常需要10到20天,香港空间无需备案,域名解析后即可上……

    2026-08-11
    0
  • Java连接云数据库的方法是什么,如何操作

    Java连接云数据库的核心在于通过JDBC驱动,结合云服务商提供的连接地址、端口、数据库名及认证信息,配置安全策略(如SSL、IP白名单),即可实现稳定高效的远程数据库访问,基础准备:JDBC驱动与依赖管理连接云数据库前,需要确保开发环境具备对应的JDBC驱动,以最常见的MySQL为例,你需要引入mysql-c……

    2026-08-11
    0
  • 建网站公安联网备案必须使用数据码吗,备案流程是什么

    网站备案包括ICP备案和公安联网备案,两者缺一不可,公安联网备案必须使用服务商提供的数据码,选择持有合法资质的服务商是顺利通过备案的前提,为什么网站必须进行公安联网备案根据公安部《计算机信息网络国际联网安全保护管理办法》,网站开通后30日内必须到公安机关办理备案手续,未完成公安备案的网站,面临责令整改、关闭网站……

    2026-08-10
    0
  • 建一个企业网站大概需要多少钱?,怎么收费?

    建网站要多少钱,没有一个固定的数字,几百到几万都可能,但真正的“创建网站资产”绝不仅仅是初次投入的成本,而是基于长期稳定、合规和安全的持续性投入,其中核心取决于你选择了什么样的“地基”来承载你的业务,建站预算的构成与行业基准当你开始规划一个网站,最先面对的就是预算问题,一个常见的误区是只关注网站“看起来”的建造……

    2026-08-10
    0

发表回复

您的邮箱地址不会被公开。必填项已用 * 标注