已关闭。此问题为opinion-based。当前不接受答案。
**想要改进此问题吗?**请更新问题,以便editing this post可以用事实与引用来回答.
8天前关闭。
Improve this question
假设我们在Kubernetes集群中运行一些服务,其中一个服务需要PostgreSQL示例来可靠地持久化数据。数据库应该位于集群中还是单独配置?
假设数据库部署在集群中,这可能意味着以下情况之一:
1.我们需要一个流程来将数据迁移到另一个节点,以防当前节点出现故障。这听起来像是一个不简单的任务。或者:
1.必须以特殊方式处理数据库所在的节点。必须将水平扩展限制到其他节点,并且集群不再是同构的。这可能被视为设计缺陷,违背了维护一次性、可替换容器的精神。
点(1)仅适用于自我管理的集群,在这种集群中,我们拥有的所有存储都与节点运行的机器绑定。如果我们使用托管云,我们可以使用持久卷声明,新示例可以自动获取数据。尽管如此,这意味着如果删除了具有DB的节点,我们将遭受数据库停机直到新示例出现。因此,第(2)点对于托管K8产品仍然有效。
因此我很理解把DB放在Kubernetes之外的论点。一些反对的论点会是什么样的呢?有很多官方的各种DB的掌舵图,这表明人们毕竟把他们的DB放在Kubernetes集群中。
很高兴能学到一些批判性的思想!
1条答案
按热度按时间mzsu5hc01#
这不是一个反模式,只是难以实现和管理。
第1点
第2点
进一步阅读:https://devopscube.com/deploy-postgresql-statefulset/