如何在 Kubernetes 中运行数据库

如何在 Kubernetes 中运行数据库

💡 原文英文,约1300词,阅读约需5分钟。
📝

内容提要

在Kubernetes中运行数据库的争论一直存在。使用节点选择器和单独的节点组或节点池可以实现成功运行数据库。在Kubernetes中实现高可用性需要精心规划恢复和可用性策略。备份和恢复可以使用磁盘卷的定期快照或数据库的专有工具。在决定在哪里运行生产数据库之前,需要权衡利弊。

🎯

关键要点

  • Kubernetes中运行数据库的争论持续存在,主流观点认为数据库应作为云服务管理。
  • 在Kubernetes中,数据库的卷通常受限于单一可用区(AZ),因此需要使用节点选择器确保数据库Pod位于正确的AZ。
  • 为了避免调度错误和不可用性问题,必须仔细规划节点与AZ的设计,建议为数据库工作负载创建单独的节点组或节点池。
  • 管理数据库服务通常提供内置的高可用性和故障转移能力,在Kubernetes中实现类似的弹性需要精心规划恢复和可用性策略。
  • 使用Kubernetes Operators(如Zalando Postgres Operator)可以简化高可用性数据库的设置和管理。
  • 对于NoSQL数据库,可以通过手动方法实现高可用性,包括使用init容器和Pod亲和性规则。
  • 许多服务提供商提供定期快照的方式来备份磁盘卷,通常这是更简单且恢复速度更快的方法。
  • 运行数据库在Kubernetes中的优势包括成本效益和供应商无关性,能够在不同平台间轻松迁移工作负载。
  • 在决定在哪里运行生产数据库之前,需要权衡利弊,越来越多的人成功地在Kubernetes中运行数据库。
➡️

继续阅读