【问题标题】:How to assign resource limits dynamically?如何动态分配资源限制?
【发布时间】:2019-06-25 15:59:50
【问题描述】:

我想定义一个策略来动态地将资源限制分配给 pod 和容器。例如,如果在特定节点调度了 4 个 pod,内存容量为 100mi,则每个 pod 分配 25mi 内存限制。换句话说,节点容量的公平份额。

那么,是否需要更改 scheduler.go 中的代码,或者我也需要更改其他对象?

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    我同意 Arslanbekov 的回答,这与 kubernetes 使用的可扩展性意识形态背道而驰。

    原则是您定义应用程序需要哪些资源,集群尽其所能将这些资源提供给 pod,根据所有应用程序的全局消耗量来调用资源(pod、节点)。

    您要问的是相反的,根据节点资源为 pod 提供资源,这种方式可能很难实现节点的自动可扩展性,因为这将是资源目标(我可能会混淆我的解释,但这表明它有多么困难)。

    做你想做的事情的一种方法是将所有 pod 调整为相同大小以使用 80% 的节点,但如果应用需要更多资源,这将被证明是错误的。

    【讨论】:

    • 这只是一个可能不正确的例子。但是,我想实施一个分配策略,如主导资源公平 (DRF),以便每个 pod 根据其在给定节点中的贡献获得资源限制
    【解决方案2】:

    我认为这与 Kubernetes 的意识形态背道而驰。在这种方法中,新应用程序将无法访问该节点。 在每个时间点,调度程序都会使用100% 每个节点。

    【讨论】:

    • 这只是一个可能不正确的例子。但是,我想实现一个分配策略,比如 Dominant Resource Fairness (DRF),以便每个 pod 根据其在给定节点中的贡献获得资源限制。
    猜你喜欢
    • 1970-01-01
    • 2017-02-21
    • 2021-10-13
    • 1970-01-01
    • 2010-12-17
    • 1970-01-01
    • 2012-03-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多