作者:Stephen Thorn
翻译:刘玲玲
原文:https://www.percona.com/blog/2020/10/08/the-criticality-of-a-kubernetes-operator-for-databases/
一些刚接触 Kubernetes 的公司尝试使用传统环境中运行数据库的方法在 Kubernetes 中运行数据库。但是,不建议这样做。因为这可能会导致数据丢失,并且也不建议这样管理生产工作负载。为什么这样做很危险?又如何解决这个问题?
在考虑将数据库迁移到 Kubernetes 之前,请确保应用程序的其余部分是云原生的,并可以使用 Kubernetes。如果您已经开始对数据库进行垂直弹性伸缩和水平弹性伸缩,并需要编排数据库来控制成本,将其迁移至 Kubernetes 上就是个不错的选择。
将数据库工作负载转移到 Kubernetes 上有两个理想的使用场景:微服务和统一抽象层。
庞大的单一数据集可能会阻碍发挥 Kubernetes 的一些优点:自修复和高可用性。这可能是一个问题,因为在加入数据库集群时,需要耗费时间将数据物理传输到新 Pod 实例上。如果数据集太大,由于物理限制,这个过程会很慢,并影响性能和数据库的可用性。而微服务就非常合适,因为它的数据集相对较小,使得 Kubernetes 能