当前位置:网站首页>Kubernetes 将彻底改变企业数据库管理? - thenewstack

Kubernetes 将彻底改变企业数据库管理? - thenewstack

2021-10-22 11:02:00 解道jdon

Kubernetes 的有状态能力经常受到质疑,而名为 Persistent Sets(“PetSet”)的第一代有状态技术(部分)是罪魁祸首。此功能已被弃用,取而代之的是 Kubernetes 中当前的有状态技术:StatefulSets。它于 2018 年针对 GA(“通用可用性”)发布,如今已在无数解决方案中使用,为 Kubernetes 容器提供持久、非短暂的存储。这就是使Vitess或其他云原生数据库在 Kubernetes 中部署成为可能的原因。

最值得注意的是,StatefulSets 将 PersistentVolumes(“PV”)挂载到容器中。这些 PV 通常由 Kubernetes 节点外部的存储提供,可以是网络驱动器的形式,也可以是软件定义的存储解决方案,例如 OpenEBS。本质上,Kubernetes 和云中使用的存储与您在 AWS 上使用的 EBS 卷或您在 GCP 上使用的 Persistent Disks 相同;我们可以期待同样的成熟度。

当然,Kubernetes 中的数据库性能会受到影响,不是吗?容器被错误地视为“轻量级虚拟机”。它们是非常薄的抽象层,包含由 Linux 内核提供的文件系统、进程和网络空间。如果您仅对数据使用临时容器存储,则可能会产生一些开销。但是,如果您使用外部 PV 存储,则开销可以忽略不计。

那么容器的短暂性会影响数据库的高可用性吗?由于容器只是一个进程的“包装器”,它们的生命周期与进程的生命周期相关。换句话说,容器将与在其中运行的数据库进程一样稳定。

 

在 Kubernetes 上运行数据库彻底改变了运行数据库的方式

在 Kubernetes 上运行数据库有明显的优势:部署简单、整个堆栈由相同的编排工具管理、自动修复和自动重新配置失败的容器,从而提高可用性。例如,如果运行数据库的节点之一出现故障,Kubernetes 将自动自我修复,将工作负载重新调度到另一个节点上。通过与数据库管理软件的配合,它可以选择一个运行在先前存在的副本上的新数据库主节点,并将新节点重新初始化为新副本,所有这些都是自动的。但是,您希望在 Kubernetes 中运行数据库还有其他更重要的原因。

大多数公司希望将数据库作为 DBaaS(“数据库即服务”)来运行。自我配置自我修复数据库,包括备份和监控。虽然大多数云提供商都提供了这一点,但使用 Kubernetes 自己动手可以节省大量成本,并提供额外的功能,例如多云和云可移植性。

这些功能通过Kubernetes Operators 提供。Operator 是 Kubernetes 的特定于应用程序的扩展,它对部署和操作自动化进行编码,同时向用户公开简单的界面。

 

在 Kubernetes 上运行数据库不仅是未来,也是现在,正如高盛ZalandoFlipkart等领先公司所展示的那样。与任何技术一样,在部署生产工作负载之前应该进行仔细和客观的评估。

不出所料,2021 年 Kubernetes 数据报告发现,90% 的响应公司认为 Kubernetes 已为有状态工作负载做好准备。这些组织中的大多数 (70%) 在生产中运行有状态的工作负载,其中数据库位居榜首。那些在其上运行 75% 或更多生产工作负载的公司报告说,生产力提高了 2 倍或更高!

 

版权声明
本文为[解道jdon]所创,转载请带上原文链接,感谢
https://www.jdon.com/57431

随机推荐