kubernetes - 使用 Google Cloud 的 Web 应用程序部署方法 - GKE
问题描述
我使用完全托管的 Google Cloud Run 服务(1 个 vCPU 和 4 GB Ram)部署了一个 python + tensorflow + flask 应用程序。
系统工作正常,但速度很慢,所以我正在评估使其快速运行的方法(它需要比现在的运行速度快 20-30 倍)
最好的方法是什么?
- 将 Kubernetes 集群与一台或两台功能强大的机器一起使用
- 使用具有 3-5 台较弱机器的 Kubernetes 集群
- 忘记 Kubernetes/Docker 并在单个强大的 VM 上运行所有内容
- 也许还有别的?
目前,我不希望一次拥有超过 10 个用户,但我希望最终能够扩大规模。
解决方案
您可能想根据您的用例进行评估
根据本文,完全托管的 Cloud Run 是一个理想的无服务器平台,适用于不需要 Kubernetes 功能的无状态容器化微服务,例如命名空间、容器在 pod(边车)中的共同定位或节点分配和管理。
如果您正在寻找提供高级可扩展性和配置灵活性的容器编排平台,GKE 是一个不错的选择。
您提到您正在寻找更便宜/更容易开发的方法,但这可能不会像可扩展性、高效或可管理性那样,您可能需要仔细查看GCP 中的所有云计算选项,看看有什么可以使您的用例受益最多。
您提到您的用例是 CPU 密集型的,因此您可能希望利用高 CPU 机器类型,这些可能通过创建 VM、创建实例组或在GKE或App Engine等其他服务中使用它们直接使用
推荐阅读
- node.js - 在 React 或 Firebase Cloud Functions 中从 PDF 或 DOC 文件中读取单词
- google-chrome - 如何在 Chrome (Angular) 中自动播放音频?
- python - 如何从显示 python 中的相关/交互数据的表中绘制交互图,如模式球?
- javascript - 关闭选项卡时运行 Firebase 代码(React)
- google-apps-script - Google Apps 脚本根据条件发送不同的电子邮件,日期的日历事件列表
- kubernetes - Kubernetes OOM 查杀 pod
- java - 如何获得二维数组列表的中位数
- javascript - 动态生成适当的 Angular Element 而不会膨胀构建大小?
- r - 如何将字母标签添加到小标题中的数值?
- apache-camel - Apache Camel 如何从端点监听?