白话Kubernetes运维之容器应用资源运营管理
技术最终也是需要为运营所服务。每一种可推广的新技术的出现,也都是对原运营模式的一种提升。如何降低成本、提高资源利用率,是每一个资源管理者必定要面临的问题。本文将就云原生生态下,容器技术的资源如何分配、如何管理,结合G行的容器云平台的实践结果,介绍并分享给大家。
在文章最初,我们首先提出三个问题,并带着白话问题进行探讨。
Q:虚机应用和容器应用的资源分配区别是什么?
Q:如何提高容器服务的资源利用率?
Q:容器平台的资源该如何管理?
先聊聊虚机应用资源,系统管理员在进行物理机切分的时候,通常会有几套标准资源分配模板,例如4C8G,16C32G等等,当我们的项目经理根据应用资源评估,申请对应虚机镜像后,我们最开始的应用Ku资源就已经框定,之后项目开发完毕,进行非功能测试,我们会得到不同的常稳CPU使用率,例如20%、40%。然后考虑到虚机扩容的复杂性和资源降配的管理机制,最终我们在生产上得到的预期资源使用率会在一个范围内波动。总结一下这种资源分配模式,是以资源为模板(定值),应用为适配(不定值)的一种资源分配方式。这种模式我be们可能会面临一些问题,例如降配的阈值根据不同类型的应用需要丰富的经验才可以拿捏的住,例如当应用即使在最小资源模板下也低于降配阈值时,存在资源浪费。例如当应用需要调整资源模板时,需要重新进行非功能测试。在这种模式下,目前金融机构普遍的CPU资源平均利用率都在10%-20%,存在可提升空间。
那么对于容器应用来说,rn我们的资源该如何分配呢?首先我们先来了解下k8s容器在声明机制下的资源参数。
request(资源请求量)容器启动时的最低资源分配值,如果集群不满足该资源请求,容器服务无法启动。
limit(资源约束量)容器最大能够请求到的资源。
ͼ1
结合CPU的时间片机制、k8s的调度策略以及容器快速扩容能力。我们可以畅想下应用et资源理想的使用场景:常稳TPS使用率在request值和limit值之间,峰值TPS使用小于limit值。然后在划分CPU密集型应用和非密集型应用类别之后,我们还可以对节点资源进行一定程度的超分,以达成我们资源共享的目的。那么以此理想场景下,可实践的资源分配策略需要优秀的非功能测试团队以及合理的资源计算分es配模型。我们可以把此类机制总结为以应用需求为依据(定值),资源进行适配(不定值)的一种资源分配方式。我们期望自此模型下运行的应用平均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节点的资源切分比Ku例,网络的带宽限制等等因素都会最终影响到我们的资源管理策略,这也是资源统筹的难点。本文以三个问题入手,结合G行实践经验,重点介绍了PaaS层CPU方面的资源运营策略,希望能以此文和各位碰撞出思维的火花,感谢各位读者阅读。
-
Perplexity与Getty Images达成多年授权协议,力求内容合规与归属中国企业大模型调用量突破10万亿Tokens,开源趋势引领未来昆仑万维SkyReels V3模型上线!一站式聚合Sora2、Veo3.1等顶尖AI视频能力OpenAI豪掷 15 亿美元布局B端:新合资公司“DeployCo”浮出水面为保护未成年人,Roblox 将于2025年底前要求所有通信用户完成 AI 年龄扫描标签: Marvis 腾讯AI助手 WindowsAI助手 多Agent协作标签: 西部数据 HAMR 佳能安内华 希捷标签: 特斯拉 Cybertruck 阿瓦斯蒂 Model 3一键魔改视频!Google Veo 3.1即将推出视频精确编辑功能,逼真到分不清真假不是所有图像都值16x16个词,清华与华为提出动态ViT
- ·200天!18岁上海高中生自制机器人,250行Python代码「注入灵魂」
- ·云安全日报210818:Ubuntu Linux内核发现任意代码执行漏洞,需要尽快升级
- ·标签: 北汽极狐 L3自动驾驶 京AA0001Z 激光雷达
- ·人工智能和物联网-5个不断发展的用例
- ·标签: 均胜电子 智能汽车 汽车安全 港股上市
- ·阿里云100余款云产品官网直降20% 新老客户同享
- ·云计算开发:Python练习实例-暂停一秒输出
- ·英伟达第二财季营收65亿美元 净利润同比增282%
- ·云厂商开启价格战 京东云表示随便降 比到底
- ·谷歌,戴尔和英特尔组成新的计算小组,致力于转变云和IT工具
- ·标签: 绝味鸭脖
- ·Perplexity AI 将 Comet 浏览器扩展至印度 Pro 用户
- ·云计算开发:Python内置函数-int() 函数详解
- ·标签: 中科闻歌
- ·标签: OPPO FindX 周意保 卓世杰
- ·标签: 米哈游 绝区零 番鼠鉴赏家 sijsusu
- ·继澳洲之后 美国也要立法帮助出版商与Facebook谷歌谈判
- ·标签: 超威动力 广西壮美能源 铅中毒 职业病
- ·Anthropic在纽约开设 “Zero Slop Zone”,抵制低质 AI 内容
- ·AI医疗助手赛道彻底爆发!这家初创公司4个月估值狂飙3倍达75亿
- ·标签: OPPO realme 李炳忠 一加
- ·云安全日报210510:IBM数据整合平台发现信息泄露漏洞,需要尽快升级
- ·存放三十年的灵芝还能吃吗
- ·谷歌发布Veo 3.1视频生成模型:新增音频功能和精细化编辑能力
- ·标签: GoPro 运动相机 财报亏损 裁员
- ·谷歌DeepMind 发布 VaultGemma 具备差分隐私能力
