【问题标题】:Cluster Autoscaler not scaling up with nodeSelectorCluster Autoscaler 不使用 nodeSelector 扩展
【发布时间】:2019-08-04 14:10:52
【问题描述】:

我有一个 Kubernetes 集群,它运行具有不同机器类型(即 cpu-heavy、gpu、ram-heavy)的各种应用程序,并安装了 cluster-autoscaler (CA) 以使用自动发现来管理 Auto Scaling Groups (ASG)。

Kubernetes 版本:EKS 1.11

集群自动扩缩器:v1.13.2

我已配置我的 ASG,使其包含适当的 CA 标记。这些 ASG 通常会缩减到 0 个节点,并且会根据工作负载进行扩展。进入 CA 日志,我还验证了 CA 承认 ASG 的存在。但是,每当我尝试使用 nodeSelector 创建 pod 时,CA 都不会扩展相应的 ASG 并以“谓词失败:nodeSelector(s) 不匹配”作为响应。我也为 ASG 的标签添加了适当的节点标签。

这可能是由于从 0 个节点向上扩展而造成的限制吗?

网上好像找不到类似的问题。任何反馈都会有所帮助!谢谢!

【问题讨论】:

    标签: kubernetes


    【解决方案1】:

    我在这里有一个更简单的设置。我只有一组 ASG。最小数量是 1 和最大 10。

    也许自动发现没有按应有的方式工作。这是最好的方法,但它不起作用。我会尝试下面的示例来管理多个 ASG。

    https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/examples/cluster-autoscaler-multi-asg.yaml

    我和你有同样的疑问,我不确定自动缩放器是否在 0 个节点范围内正常工作。

    【讨论】:

    • 我还观察到当我只有 1 个节点标签时 CA 似乎喜欢它的有趣行为。它有时会适当扩大规模......
    • 你解决了自己的问题并发布了它。干得好:)
    【解决方案2】:

    更新:CA 文档更新

    我的 ASG 标签不正确。确保您有k8s.io/cluster-autoscaler/node-template/label/some-label,以确保当 ASG 缩小到 0 时 CA 可以看到您的节点标签。目前,CA 不基于 ASG 标签创建节点标签,但此功能正在开发中。

    【讨论】:

      【解决方案3】:

      我不确定您使用的是哪个云提供商。

      似乎 CA 在使用 nodeSelector 时无法使用节点标签进行扩展,但是如果您更改定义所需标签的方式并使用 nodeAdffinitiy,它将进行扩展。

      我与亚马逊支持人员进行了交谈,他们声称这是因为 CA 无法读取用户数据脚本和标签。

      无论如何,这似乎只需要从 0 个节点向上扩展

      这里还声明 https://github.com/kubernetes/autoscaler/blob/master/cluster-autoscaler/cloudprovider/aws/README.md#scaling-a-node-group-to-0 你应该标记 ASG 并且它应该可以工作

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2019-12-02
        • 2021-06-01
        • 2020-01-15
        • 2019-08-24
        • 2022-01-12
        • 2018-04-18
        • 2021-09-19
        相关资源
        最近更新 更多