白话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

相关推荐

  • 个人主题怎么制作?

    制作个人主题是一个将个人风格、兴趣或专业领域转化为视觉化或结构化内容的过程,无论是用于个人博客、作品集、社交媒体账号还是品牌形象,核心都是围绕“个人特色”展开,以下从定位、内容规划、视觉设计、技术实现四个维度,详细拆解制作个人主题的完整流程,明确主题定位:找到个人特色的核心主题定位是所有工作的起点,需要先回答……

    2025-11-20
    0
  • 社群营销管理关键是什么?

    社群营销的核心在于通过建立有温度、有价值、有归属感的社群,实现用户留存、转化和品牌传播,其管理需贯穿“目标定位-内容运营-用户互动-数据驱动-风险控制”全流程,以下从五个维度展开详细说明:明确社群定位与目标社群管理的首要任务是精准定位,需明确社群的核心价值(如行业交流、产品使用指导、兴趣分享等)、目标用户画像……

    2025-11-20
    0
  • 香港公司网站备案需要什么材料?

    香港公司进行网站备案是一个涉及多部门协调、流程相对严谨的过程,尤其需兼顾中国内地与香港两地的监管要求,由于香港公司注册地与中国内地不同,其网站若主要服务内地用户或使用内地服务器,需根据服务器位置、网站内容性质等,选择对应的备案路径(如工信部ICP备案或公安备案),以下从备案主体资格、流程步骤、材料准备、注意事项……

    2025-11-20
    0
  • 如何企业上云推广

    企业上云已成为数字化转型的核心战略,但推广过程中需结合行业特性、企业痛点与市场需求,构建系统性、多维度的推广体系,以下从市场定位、策略设计、执行落地及效果优化四个维度,详细拆解企业上云推广的实践路径,精准定位:明确目标企业与核心价值企业上云并非“一刀切”的方案,需先锁定目标客户群体,提炼差异化价值主张,客户分层……

    2025-11-20
    0
  • PS设计搜索框的实用技巧有哪些?

    在PS中设计一个美观且功能性的搜索框需要结合创意构思、视觉设计和用户体验考量,以下从设计思路、制作步骤、细节优化及交互预览等方面详细说明,帮助打造符合需求的搜索框,设计前的规划明确使用场景:根据网站或APP的整体风格确定搜索框的调性,例如极简风适合细线条和纯色,科技感适合渐变和发光效果,电商类则可能需要突出搜索……

    2025-11-20
    0

发表回复

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