开发者社区 > 云原生 > 容器服务 > 正文

使用Serverless 容器,pod可以不做内存和cpu的请求及限制,按服务的实际使用来分配吗?

使用Serverless 容器,pod可以不做内存和cpu的请求及限制,按服务的实际使用来分配吗?

展开
收起
-Feng、冯冯 2024-01-04 19:02:07 50 0
4 条回答
写回答
取消 提交回答
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在使用Kubernetes的Serverless容器时,你可以选择不为Pod设置内存和CPU的请求及限制,让在使用Kubernetes的Serverless容器时,你可以选择不为Pod设置内存和CPU的请求及限制,让系统根据服务的实际使用情况来分配资源。然而,需要注意的是,如果你选择不设定这些值,那么系统对于资源的判断将会缺乏准确的依据,可能导致资源分配不均或者无法满足服务的性能需求。

    同时,Kubernetes的资源管理特性允许管理员在命名空间中指定资源的Request和Limit。这一特性对于保证服务的稳定运行非常重要。例如,如果管理员设定了CPU Request配额,那么所有在此命名空间中运行的Pod都需要在其定义中设置相应的CPU Request,否则将无法获得正确的资源调配。

    在某些情况下,我们可能会忘记为部分容器设置request与limit,这时我们可以使用LimitRange来设置namespace的默认request与limit值,确保资源的有效管理。此外,节点资源不足时,系统会触发自动驱逐策略,删除低优先级的Pod以释放资源使节点自愈。因此,即使不设定Pod的资源请求和限制,Kubernetes仍具备一套完善的资源管理和调度机制来保证服务的正常运行。

    2024-01-05 10:15:27
    赞同 展开评论 打赏
  • 在Kubernetes中,Pod是系统的基础单元,用于运行容器化应用的资源对象。默认情况下,pod运行没有任何CPU和内存的限制,这意味着系统中的pod可以尽可能多的消耗CPU和内存在pod执行的节点上。然而,基于多种原因,例如为了避免资源过度使用或确保系统稳定性,用户可能希望对单个pod的资源使用量进行限制。

    Kubernetes提供了资源限制功能来限制Pod的最大资源消耗。具体来说,如果一个Pod使用的内存超过了配置的限制,该Pod将被OOMKilled;同样地,如果一个Pod使用的CPU超过了配置的限制,它也将受到限制。此外,用户还可以为Pod明确指定资源请求和限制。例如,可以在创建容器的配置文件中指定CPU和内存的请求和限制值。

    综上所述,虽然Kubernetes允许按服务的实际使用来分配资源,但为了系统的稳定和高效运行,通常建议为用户的Pod设置适当的资源请求和限制。

    2024-01-05 09:52:39
    赞同 展开评论 打赏
  • 指定Pod的CPU和Memory:您可以通过Annotation的方式配置整个Pod的CPU和Memory,这种情况将不再把所有容器资源相加,而以指定的资源创建和计费。此时可以不用指定内部容器的request和limit,各容器可以最大程度地使用Pod内计算资源

    image.png

    ——参考来源于阿里云官方文档

    2024-01-05 01:55:27
    赞同 1 展开评论 打赏
  • 目前ECI还不支持这种使用方式,但后面我们会持续致力于优化资源使用方面的产品体验。此回答整理自钉群“Serverless 容器体验交流群”

    2024-01-04 22:35:50
    赞同 展开评论 打赏

国内唯一 Forrester 公共云容器平台领导者象限。

相关电子书

更多
All in Serverless 阿里云核心产品全面升级 立即下载
AIGC 浪潮之上,森马的 Serverless 实践之旅 立即下载
极氪大数据 Serverless 应用实践 立即下载