我有一个无状态应用,在同一代码库中有3个组件,分别是x,y,z。每个组件都将通过检查环境变量来运行。我想使用带有3个副本容器的kind: Deployment
yaml配置在 GCP 上的 Kubernetes 上部署它。如何确保每个组件都具有一个专用的容器?
可以在单个部署文件上完成吗?
答案 0 :(得分:0)
正如@Ivan Aracki在评论中提到的,最好的方法是将每个应用程序组件与适当的部署对象区分开,以确保在此处分配Pod。
答案 1 :(得分:0)
如上述Ivan所述,部署三个部署,每个部署分别用于x,y和z。
您可以对三个部署使用相同的映像,只需为每个部署传递不同的环境变量/值即可部署特定组件。您可能必须在容器启动脚本中构建一些逻辑,才能从环境变量中检索值并启动所需的组件
答案 2 :(得分:0)
据我了解,您的要求表明您在一个解决方案中拥有三个流程应用程序代码库。请确定您提到的三个组件是独立的流程组件,或者仅仅是层前端,服务,DAL等,甚至是层,例如具有前端Web,API和后端层的典型三层体系结构应用程序,但是为了简单起见,我们将其称为三个微服务或服务...
无论是哪种情况,docker的最佳实践,kubernetes托管的微服务模式都建议:
每个进程小型应用程序的容器(不是单片)
尽管每个吊舱可以有多个容器,建议每个吊舱保留一个容器-吊舱内可以有三个容器
希望这会有所帮助。