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