gpt4 book ai didi

docker - 使用Kubernetes将Web和应用程序服务器拆分为不同的Docker镜像是否具有性能优势?

转载 作者:行者123 更新时间:2023-12-02 12:16:07 25 4
gpt4 key购买 nike

我们有一个J2EE应用程序(Wildfly),该应用程序在Amazon EC2实例上当前运行的Apache Web服务器后面运行。我们正计划使用Docker镜像将其迁移到Kubernetes(EKS)平台。但是,我们对最佳做法感到好奇。我们是否应该创建一个同时运行Web和应用程序服务器的Docker容器,这似乎很常见,还是创建单独的镜像以容纳Web服务器和容纳应用程序服务器的另一个容器是否有优势?

最佳答案

为每个主进程创建一个容器。一台用于Web服务器,一台用于应用程序服务器。

如果容器始终保持一对一的关系并且需要一起运行,则可以将容器安排在相同的Pod中(或者如@sfgroups所述,入口 Controller 可以满足您的Web服务器需求)。

Kubernetes是一个工作负载调度程序,可从了解其运行进程的状态中受益。要在一个容器中运行多个流程,您需要添加一个流程管理层,通常从使用./app &在脚本中后台启动开始,遇到问题,然后是某种类型的init系统(例如s6)

container-runtime          c-r     c-r
| | |
init VS web app
/ \
web app

如果您开始在Kubernetes和被管理的进程之间添加流程管理层,则Kubernetes可以检测到的状态开始变得模糊。

当网络关闭但应用程序启动时会发生什么?您如何通过两个流程管理日志?当init保持启动并且Kubernetes认为一切都很好时,如何调试失败的进程。许多事情开始变成定制解决方案,而不是利用Kubernetes已经提供的功能。

关于docker - 使用Kubernetes将Web和应用程序服务器拆分为不同的Docker镜像是否具有性能优势?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56279989/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com