【问题标题】:Reduce wait-time for kubectl scale减少 kubectl scale 的等待时间
【发布时间】:2019-06-06 09:12:02
【问题描述】:

需要立即缩减节点,Kubernetes 不允许开发人员配置节点缩减前的时间。目前,它有一个不可配置的默认值 10 分钟。

我正在开发一个需要大量计算能力/小时的应用程序。我正在查看正在运行的进程 A,它将一些任务添加到作业队列中。在 6vCPU 和 24GB 实例上处理每个作业平均需要 10-40 分钟。

当您应用 kubectl scale deployment <deployment-name> 时,它会立即缩小 pod。但是,只有在 10 分钟内没有使用处理能力时,底层节点才会缩减。

是否可以配置此等待时间?是否值得联系 Google GKE 或 Kubernetes 以允许我的特定用例例外?

我也尝试在处理后自己从 pod 中杀死节点并成功,但是,Kubernetes 重新创建了已删除的实例,因此我的尝试没有用。

任何建议都将不胜感激。

kubectl scale deployments mydeployment --replica=0

实际:立即缩小 pod,但 10 分钟后缩小底层节点。 要求:立即缩小 pod 和节点。

【问题讨论】:

    标签: kubernetes google-kubernetes-engine scaling


    【解决方案1】:

    似乎不支持“-scale-down-unneeded-time_”之类的选项。作为解决方法 - 如果您确定已完成节点并且不再需要它,您可以手动缩减 GKE 节点池,而无需等待 Cluster Autoscaler 自动回收它。可以找到执行此操作的命令here

    但是,这样你就无法控制到底要拒绝哪个节点

    如果您有一个占用整个虚拟机的短期工作负载,并且您想在虚拟机完成后立即关闭它,那么您不需要 Kubernetes,它只会妨碍您。实现这一点的最佳方法是在 Compute Engine 上为每个任务创建一个虚拟机,并在完成后立即关闭每个虚拟机。只需确保将运行任务所需的所有内容都放在 VM 映像中,这样您就不会浪费时间在启动时下载和安装内容。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2011-11-08
      • 2015-04-19
      • 1970-01-01
      • 2011-04-18
      • 1970-01-01
      • 1970-01-01
      • 2016-08-22
      • 1970-01-01
      相关资源
      最近更新 更多