我对kubernetes很陌生,只是想知道几件事。
考虑我有两个存储库(front-e,backe-e)。它们每个都内置在docker镜像中。
我想用kubernetes管理这两个镜像,并在集群中运行它们。
在这种情况下,存储部署* .yml文件的最佳实践是什么?单独的回购?
最佳答案
这里有一个类似问题的类似答案:Best practices for storing kubernetes configuration in source control
就像David所说的那样,您可以随时尝试使用helm。但是,对于简单项目或刚起步的人,我建议不要掌 Helm 。我发现它很复杂,不愿在我的k8s集群上运行另一个有状态组件。
我在下面列出了其他一些选项。
TL; DR :(按个人喜好排列)
1. Monorepo
如果您担心monorepos,请在决定放弃它们之前先阅读about them,因为它们听起来并不优雅;)
提示:如果您有多个k8s集群,并且不想为每个集群编写不同的k8s文件,请添加一些客户端jinja模板。
2.单独的k8s回购
与1相同,但没有源代码。
3.单独的源存储库中的k8s文件
将部署,服务yml文件保留在存储库中。如果两个微服务都完全解耦,可以独立测试并且实际上不需要任何需要创建的公共(public)k8s资源,那么这可能是最好的。我在实践中从未遇到过。我不得不将7种不同的微服务的回购合并到一个回购中,以实现发布的合理性。
关于docker - Kubernetes的问题。配置文件。,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48328415/