【问题标题】:How to deploy workload with K8s on-demand (GKE)?如何使用 K8s 按需 (GKE) 部署工作负载?
【发布时间】:2020-10-22 17:03:53
【问题描述】:

我需要在 GCP 上部署 GPU 密集型任务。我想使用 Node.js Docker 映像并在该容器中运行 Node.js 服务器,该服务器侦听 HTTP 请求并按需运行 Python 图像处理脚本(每次收到包含图像的新 HTTP 请求时)进行处理)。我的理解是,我需要在具有静态公共 IP 地址的 K8s 集群前面部署一个负载均衡器,然后每次有新的 HTTP 请求进入时构建/启动容器?然后在处理完成后销毁容器。容器重复使用不是问题吗?我以前从未使用过 K8s,我想了解它是如何工作的,在阅读了 GKE 文档之后,这就是我想象的架构。我在这里错过了什么?

【问题讨论】:

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


    【解决方案1】:

    按需运行 Python 图像处理脚本(每次收到包含要处理的图像的新 HTTP 请求时)

    这个可以在 Kubernetes 上解决,但不是很常见的工作负载。

    最能支持您的问题的项目是 Knative 及其按请求自动缩放器。 Google Cloud Run 是最简单的使用方法。但是如果你想在自己的 GKE 集群中运行它,你可以enable it

    也就是说,您可以还设计您的 Node.js 服务以与 Kubernetes API-server 集成以创建 Jobs - 但与公共工作负载对话并不是一个好的设计API 服务器。最好使用 Knative 或 Google Cloud Run。

    【讨论】:

    • 我需要 GPU 处理能力。 Cloud Run 仅提供 CPU。那还需要在Kubernetes上解决吗?
    • 是的,您可以在自己的集群上启用 Cloud run/knative 并使用特定的 GPU 节点。
    • 谢谢。有什么方法可以在不使用 K8s 的情况下完成上述操作?我没有使用 K8s 的经验,因此我要求提供不需要使用 K8s 的替代解决方案
    猜你喜欢
    • 2019-09-04
    • 2021-09-01
    • 2022-09-30
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-12-07
    相关资源
    最近更新 更多