Kubernetes将彻底变革企业数据库管理

网友投稿 905 2022-11-07

本站部分文章、图片属于网络上可搜索到的公开信息,均用于学习和交流用途,不能代表睿象云的观点、立场或意见。我们接受网民的监督,如发现任何违法内容或侵犯了您的权益,请第一时间联系小编邮箱jiasou666@gmail.com 处理。

Kubernetes将彻底变革企业数据库管理

当决策者考虑在Kubernetes上部署数据库时,第一个问题是:“Kubernetes为有状态的工作负载做好了准备吗?”多年来,答案都是“不要这样做”,而且理由充分。Kubernetes最初设计用于处理无状态工作负载的编排。但这项技术已经成熟,是时候重新考虑在Kubernetes上运行数据了。

这涉及三个重要的技术话题:Kubernetes成熟度、Kubernetes对有状态的处理能力、容器中运行数据库的可用性和性能特征。

Kubernetes有多成熟?

虽然评估任何技术的成熟度都不是一个简单的过程,但可以使用可靠的信号。Kubernetes是一个CNCF毕业项目,2020年调查报告显示,“91%使用容器的受访者使用Kubernetes,其中83%在生产中”。

自2017年11月以来,分析公司Thoughtworks将Kubernetes视为公司应该采用的成熟技术,并解释说“在将容器部署到机器集群中时,它已成为我们大多数客户的默认解决方案。”

Kubernetes为有状态做好准备了吗?

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

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

K8s上运行数据的性能

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

那么容器的短暂性又如何呢?这不会影响高可用性吗?容器只是进程的“包装器”,所以它们的生命周期与进程的生命周期有关。换句话说,容器将与其中运行的数据库进程一样稳定。

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

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

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

这些功能通过Kubernetes Operators提供。Operators是Kubernetes的特定于应用程序的扩展,它对部署和操作自动化进行编码,同时向用户公开简单的接口。高级数据库Kubernetes Operators带来了以下好处:

——自动化“第二天操作”:部署、高可用性、备份和监控;打补丁、“吸尘”、去除膨胀、重新索引等。Operators可以将这些操作编码到CRD、YAML文件中,以便自动执行这些操作。这种方法的一个例子是StackGres,一个在Kubernetes上运行Postgres的高级operator,它完全自动化了上面提到的所有操作。

——将数据库功能外部化到第三方、知名的Kubernetes组件,如Envoy代理;进行监控的Prometheus和Grafana;或用于SSL证书管理的Cert Manager。数据库operators可能依赖这些组件来卸载数据库功能,减少用户操作它们的认知知识,因为它更熟悉,并获得更高级的功能。

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

毫不奇怪,Data on Kubernetes 2021报告中的数据发现,90%的公司认为Kubernetes已经为有状态工作负载做好了准备。这些组织中的绝大多数(70%)在生产中运行有状态的工作负载,数据库排在首位。那些运行75%或更多生产负载的人说,他们的生产率提高了2倍或更高。

考虑到在Kubernetes上运行数据库的所有优点,企业应该有所行动。在Kubernetes上运行数据是全面编排基础设施的最新前沿,笔者相信这一转变将为企业带来可观的价值。

原文链接:

https://thenewstack.io/kubernetes-will-revolutionize-enterprise-database-management/

相关下载:

华为容器在Kubernetes的技术实践之路

Kubernetes基础介绍

Docker容器基础介绍

新形态数据中心PaaS运维平台

Docker容器在传统行业的落地实践

混合云白皮书

青云超级混合云白皮书

2021混合云架构的普及改变IT生态

灵云混合多云管理平台白皮书

京东云:私有云和混合云白皮书

超融合数据中心网络白皮书

低碳数据中心发展白皮书(2021)

数据中心产业发展指数(2021)

腾讯隐私计算白皮书(2021)

京东云原生:技术实践与探索之路

边缘计算产业安全和生态建设

本号资料全部上传至知识星球,加入全栈云技术知识星球下载全部资料。

‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧  END  ‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧‧

免责申明:本号聚焦相关技术分享,内容观点不代表本号立场,可追溯内容均注明来源,发布文章若存在版权等问题,请留言删除,谢谢。

上一篇:软件测试培训之回归测试的策略
下一篇:软件测试培训之测试用例的基本知识
相关文章

 发表评论

暂时没有评论,来抢沙发吧~