假设我想在 Kubernetes 集群中部署 5 个 api,我的问题只是存储与 Kubernetes 相关的 yaml 文件的最佳实践是什么。
在我在网上看到的项目中,Kubernetes yaml 文件只是添加到 api 项目本身中。我想知道将与 Kubernetes 相关的所有文件解耦到一个完全独立的“项目”中是否有意义,该项目由 VCS 作为与 api 项目本身完全分离的实体进行管理。
之所以出现这个问题,是因为我目前正在阅读一本关于 Kubernetes 的书,主题为命名空间,并认为每个环境(DEV/UAT/PROD)有单独的命名空间可能是一个好主意,这可能是有意义的将这些文件放在一个集中的“Kubernetes”项目中(除非每个环境有一个单独的集群(?)可能更好)。
最佳答案
来自 CI/CD 的生产 k8s 经验:
- 每个环境一个集群,例如 dev、stage、prod(可选每个数据中心)
每个项目一个命名空间
每个项目一个 git 部署 repo
- 每个环境的 git 部署 repo 中有一个分支
- 在配置方面使用 configmaps
- 使用 secret 管理解决方案来存储和使用 secret
关于kubernetes - 构建 kubernetes 配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53874945/