【问题标题】:GCP GKE node pool auto scheduleGCP GKE 节点池自动调度
【发布时间】:2020-05-05 05:49:58
【问题描述】:

我是 GCP 的新手,想知道如何安排包含 3 台 GPU 机器的 GKE 集群节点池。 我发现这些机器的运营成本非常高,所以我正在寻找一种解决方案,可以每天晚上自动关闭所有这些机器/池并每天早上打开它们,因为这是一个开发项目。

【问题讨论】:

  • 您可以使用 cron 作业并部署云功能,向其发送信号(http 端点/pubsub 消息)。在您的云功能中,您可以通过客户端库 sdk 或 http RESTful api 启动/关闭您的计算引擎

标签: google-cloud-platform google-kubernetes-engine


【解决方案1】:

一个可能的解决方案是创建两个节点池:

-<default-node-pool> for kube-system pods
-<gpu-node-pool>

只有一个节点池不起作用的原因是因为节点池不会缩减到 0,不知何故 kube-sytem pod 需要存在于某个地方。

您可以使用node taint 的概念来使用此标志创建您的 gpu 节点池

--node-taints cost=high:NoSchedule

然后你可以像下面这样对 pod 应用 toleration

tolerations:
- key: cost
operator: Equal
value: high
effect: NoSchedule

通过这种方式,您可以确保您的 kube-system pod 没有被安排在 GPU 节点上。不管怎样,都会有一些 kube-system pod 会在节点池上运行,因为它们可以容忍一切。

开启自动扩缩器,如果是node is not needed,gpu 节点池应缩减为 0,同时保持默认节点池为 kube-system pod 活动。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-06-23
    • 2023-02-15
    • 1970-01-01
    • 2022-01-14
    • 2022-01-15
    • 2018-08-20
    • 2021-12-21
    • 2020-06-10
    相关资源
    最近更新 更多