【发布时间】:2020-01-25 23:50:31
【问题描述】:
我已经使用 Azure 容器实例部署了 5 个应用程序,这些应用程序运行良好,我遇到的问题是,目前所有容器都在运行,这很昂贵。
我想要做的是在需要时启动/停止实例,为此使用将一直工作的主容器或虚拟机。
例如
此主服务收到请求,将服务号 3 启动 2 小时,然后将其关闭,所有其他容器将关闭,直到它们收到类似的请求。
对于我的用例,大部分时间每天使用每项服务的时间少于 5 小时。
现在,我知道 Kubernetes 它是一个用于管理容器的引擎,但我发现的所有示例都是针对大规模服务的,而不是针对每个只有一个容器的 5 种服务,也不确定 Kubernetes 是否允许大多数情况下关闭所有容器的时间。
我的想法是处理所有这些抛出一些 API,但我没有在 Azure 中找到任何允许类似的服务,我只找到了创建新容器的选项,而不是启动和关闭他们下来。
编辑:
此外,这些应用程序运行的进程非常繁重,无法将它们放在无服务器平台上。
【问题讨论】:
-
在 Kubernetes 中打开和关闭单个容器非常容易(将部署中的副本数设置为 0 或 1),但根据您所描述的 Kubernetes 的开销可能大于您的稳态资源需求。
-
@DavidMaze 很高兴知道可能有 0 或 1。您的意思是“大于您的稳态资源需求”是因为开发维护时间还是 Kubernetes 本身的成本?
-
您的意思是手动、按计划或以编程方式启动/停止它们以响应某些事件?
-
这不是一个答案,但既然你用 google-cloud-platform 标记了你的问题,我会看看 Google Cloud Run。容器自动缩放到 0。
-
如果您运行的应用程序仅用于测试和实验,而不是生产用途,您可以在您的计算机上免费使用 minikube,而不是使用云提供商。
标签: azure docker kubernetes google-cloud-platform