山东001在线

 找回密码
 立即注册
搜索
查看: 1054|回复: 0

了解:Fargate Pod 的大小调整从而节约计算成本2023/4/17 22:09:38

[复制链接]
  • TA的每日心情
    奋斗
    2023-6-30 13:23
  • 签到天数: 105 天

    [LV.6]常住居民II

    发表于 2023-4-17 22:09:40 | 显示全部楼层 |阅读模式

    Fargate Pod的大小调整从而节约计算成本

    在传统Kubernetes集群之上,工作节点就是比较基本的计算单元。这些基本单元定义了各Pod所能使用的总容量以及集群的整体运行成本。

    以上各个方面当然都很重要,而且对于Fargate的业务用例而言具有重要意义。但从核心角度出发,我们真正应该关心的是际使用容量与您为之付费的容量之间到底存在怎样的差距。

    例如,在尝试使用Fargate时,很多客户错误地将Fargate Pod容量与传统工作节点容量进行直接比较。前文已经提到,Pod容量属于容器能够全部使用的净容量,而工作节点容量则是您需要为之付费的CPU加内存的总容量——但其中只有一部分可被有效用于运行容器。

    我们也提到过,在传统Kubernetes集群中,根据您的际业务要求与运营成熟度,集群中往往有20%到50%的资源被长期闲置。通过使用Fargate,您可以自动将理论容量使用率提升至接近100%,借此大大改善资源浪费问题。

    当然,上述结论的基本前提,在于假设您能够充分利用为Pod分配的全部容量。但很多客户比较终也遇到过EKS Pod资源利用率仅为50%,却需要为全部容量付费的情况。这个时候,即使使用Fargate也不会带来比传统EC2例更好的任何成本效益。正因为如此,我们才需要“合理调整Pod大小”,这不仅将直接决定您的际运营效能,同时也是对Amazon Compute Savings Plans惠政策的良好补充。

    下面,我们详细聊聊如何正确调整Kubernetes容器的大小。

    在传统Kubernetes集群之上,工作节点就是比较基本的计算单元。这些基本单元定义了各Pod所能使用的总容量以及集群的整体运行成本。以此为基础,我们建议大家充分使用作为可选功能的Kubernetes请求限制选项。在容器之上设置CPU请求限制以及内存请求限制之后,相关设置将为容器定义虚拟资源沙箱。而如果不在Pod上设置这些参数,则所有Pod都将争用当前可用的集群总资源(特别是所处工作节点上的资源)。

    在EKS/Fargate上,使用的则是另外一套完全不同的资源模型。由于集群中不存在工作节点,因此Pod本身的大小将直接决定必要的底层容量。要有效使用Fargate服务,就必须要正确对Pod大小做出设置。正因为如此,正确配置Pod才成为现良好性能、避免资源浪费的必要前提。

    您可以参阅此份说明文档中的对应部分,或者观看EKS/Fargate re:Invent突破性讲解,以了解在Fargate部署中设定Kubernetes容器大小的更多详细信息。总结来讲,其中的基本逻辑就是读取各个容器中的“请求”,而后应用这些资料中提出的资源分配方法。

    另外,您所指定的Pod大小(通过显式请求现)还应高度契合您的工作负载模式。在理想情况下,我们需要尽可能充分运用所指定的资源容量。而要保证这一点,大家必须持续监控Pod的资源利用率指标。您可以使用Datadog等工具(为EKS/Fargate提供开箱支持)监控各个Pod,也可以使用本文中推荐的Prometheus与Grafana施监控。

    请注意,运行在EKS/Fargate上的各Pod能够全面支持Kubernetes横向autoscaler与纵向autoscaler。开发人员可以使用前者根据工作负载增加及减少Pod数量,并使用后者提升或削减分配给特定Pod的资源总量。不过二者之间法良好协同,因此如果您希望让Kubernetes自动调整各Pod的大小,只能根据际资源消费模式二选其一。总之,我们的目标非常明确——尽可能将已分配资源的利用率提升至100%,一切措施都应为这项目标服务。

    总结

    在本文中,我们介绍了一项新功能,可帮助EKS客户在使用Fargate部署Kubernetes Pod时充分享受AmazonCompute Savings Plans带来的惠政策。之前,只有通过Amazon ECS启动的Fargate任务才有资格享受Amazon Compute Savings Plans折扣。另外,我们还借此机会讨论了EKS/Fargate组合提出的价值主张,特别是如何运用服务器方法显著降低业务体系的总体拥有成本(TCO)。

    另外需要强调的是,Fargate并不是适用于一切应用场景的万灵药。在很多情况下,客户仍然有理由继续使用传统EC2例,例如需要特定硬件支持(如GPU)或选择特定例类型进行微调部署等。除此之外,使用Fargate进行EKS部署时还应关注其他一些注意事项以及一些可能不适合Farget的案例场景,具体信息请参阅此说明文档中的对应部分。请定期关注这些文档页面,我们将不断向EKS及Fargate引入更多新功能,大家敬请期待!

    如果您对本文中讨论的Fargate助益抱有兴趣,并希望体验EKS与Fargate相结合带来的奇妙化学反应,请从我们的用户入门指南起步。
    您需要登录后才可以回帖 登录 | 立即注册

    本版积分规则

    QQ|手机版|小黑屋|Archiver|山东001在线 ( ICP11027147 )

    GMT+8, 2026-4-4 05:27 , Processed in 0.038567 second(s), 19 queries , Gzip On.

    Powered by Discuz! X3.4

    © 2001-2023 Discuz! Team.

    快速回复 返回顶部 返回列表