关于如何将容器化服务部署到云中,有几本教程:AWS,Google Cloud Platform,Heroku和许多其他人都提供了有关如何执行此操作的不错的教程。
但是,大多数现实世界中的应用程序是由两项或多项服务(例如数据库+ Web服务器)组成的,而不仅仅是一项服务。
将多服务应用程序的各种服务部署到不同的集群(例如,将数据库部署到GKE集群,将Web服务器部署到另一个GKE集群)是不好的做法吗?我之所以这样问是因为,我发现很难将一个简单的Web应用程序部署到单个集群中,而我希望一旦设置了Dockerfile
和docker-compose.yml
,所有东西都可以即开即用(如广告所示)通过Docker Compose和Kubernetes的文档),我将能够拥有一个小型集群,其中包含用于数据库的1个容器和用于Web服务器的1个容器。
所以我的问题是:
最佳答案
在同一群集/命名空间上部署在它们之间共享一些逻辑的多个服务(AKA应用程序)实际上是最佳实践。我不确定为什么会遇到困难,但是您可以使用一个容器编排器平台(例如Kubernetes)并根据需要部署任意数量的应用程序-在同一集群中的同一项目中。
我建议进入一个为容器协调器服务的云平台,例如Google Cloud Platform(或您想要的任何其他云平台)的Google Container Engine,然后开始探索。您还可以阅读有关containers总体或Kubernetes的信息。
因此,实际上,我可能会在同一 namespace (以及与该 namespace 内另一个容器上的项目相关的所有其他服务或应用程序)内创建MongoDB和express应用程序。
关于amazon-web-services - 将多服务应用程序部署到云提供商,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62027093/