在我们公司的7个项目中,每个项目都是基于码头的。每个项目都包含基本服务,如MySQL、Nginx、PHP。一些项目与其他项目进行沟通。由于同一端口上有许多服务,所以我们为每个项目制作了新的对接主机(对接机)。从这里开始,很少有问题出现:
嗯,我正在寻找更多的企业解决方案来管理许多码头机器。或者一种能帮我解决目前情况的技巧。
发布于 2018-04-03 11:38:49
去年夏天我也遇到过类似的问题。
首先,我开始将我的项目部署到群集集群作为服务,而不是集群的几个对接VM。这使我能够只使用服务ID来处理服务。重要的是,如何将项目划分为服务,这部分可能会很麻烦,取决于您的项目。
https://docs.docker.com/engine/swarm/swarm-tutorial/deploy-service/
然后,我在群管理器上构建了我的配置和监控软件,并使用它.您可以在码头管理员上使用自动化工具来控制服务。
发布于 2018-04-05 08:24:16
虚拟机消耗资源,如果不一定要避免,最好避免。相反,您可以将项目部署在码头上,大量使用裸金属。
但是,因为每个项目都有一个入口点,需要可以从外部世界访问(即https://site1.com和https://site2.com),所以不能为同一群中的所有前端服务公开相同的端口(443或80)。为此,您可以使用反向代理(如HAProxy或Nginx ),根据主机名将请求转发到正确的服务。反向代理也可以是蜂群中的服务。在这种情况下,您不应该再公开项目的端口。
反向代理还有许多其他的优势,比如SSL终止(这使得SSL证书管理更加容易)。
如果将项目添加到相同的自定义网络中,则来自不同项目的服务可以安全和直接地通信,使用它们的对接服务名称和内部端口(即80)。
https://stackoverflow.com/questions/49628395
复制相似问题