DataStax最近发布了K8ssandra——一个开源的、部署于Kubernetes上的Apache Cassandra™全新发行版本。K8ssandra一站式集合了在Kubernetes上部署开源版Apache Cassandra™所需的一切。
Apache Cassandra在可伸缩且零宕机的数据库中处于领先地位。包括了Home Depot、Netflix以及Apple等跨国公司正在使用Apache Cassandra。Cassandra支持一系列数据库的应用场景——从金融服务交易到娱乐流媒体服务以及其它更多。
2020年11月18日,DataStax在KubeCon + CloudNativeCon North America大会上发布了K8ssandra——一个开源的、部署于Kubernetes上的Apache Cassandra™全新发行版本。
K8ssandra使得开发者只需一个Kubernetes Helm chart即可完成Cassandra的部署。K8ssandra现在已经可以下载使用,它让数据库管理员(DBA)和网站可靠性工程师(SRE)能够在Kubernetes上弹性地增减数据。
“K8ssandra将会让数据实现云原生化。虽然Kubernetes已经使无状态应用程序的运行和伸缩变得很容易,但是那些程序都需要数据支撑。将Cassandra带入Kubernetes,这意味着我们将有一个被SRE所欣赏的、自动的、开源的且分布式的数据存储方式。
这种方式一直是网站可靠性工程师们所认可和喜爱的。K8ssandra让你能够弹性地增减数据,并通过Prometheus和Grafana进行监测。这个发行版本包括了一些已知运行良好的构件,并且它们可以在Kubernetes上面良好协作。这个发行版本将是网站可靠性工程师们分享运维智慧的地方。”
——DataStax首席战略官Sam Ramji
K8ssandra是一个开源的Cassandra发行版本,它支持在Kubernetes上有状态的工作负载(stateful workloads),并提供弹性伸缩和自动修复的功能。K8ssandra用Helm来部署,并包含了社区认定的Cassandra自动化的核心项目:
-
Cass-operator:一个在Kubernetes控制平面(control plane)和Cassandra集群操作之间进行转换的operator
-
Cassandra Reaper:管理Cassandra集群的反熵修复(anti-entropy repair)中重要的维护任务
-
Cassandra Medusa:用于数据的备份和恢复
K8ssandra还包含并集成了:
-
Prometheus:提供预制的且收集完备的指标数据
-
Grafana:提前配置好的监控图表,用于提供可监控性(observability)
根据Evans Data Corporation所做的《云开发调查问卷》显示,62%的开发者表示他们更喜欢用Kubernetes或云服务提供商的产品来管理他们的数据。
“长时间以来,运行大规模的数据库对于工程人员来说都是最困难的挑战之一,而Cassandra其实正是为此而构建的。另一方面,当Kubernetes变得越来越普及,企业更会寻找在这个平台上运行大规模数据库的方式。这就是构建K8ssandra的原因。”
——RedMonk首席分析师Stephen O’Grady
“New Relic非常赞同标准化社区支持的Cassandra集群运维管理工具。我们对于K8ssandra的发布非常兴奋,并期待着能够和广大开源社区合作并积极为之做出贡献。对于在Kubernetes上运行Cassandra的新老用户来说,这是一个非常棒的开始。同时,能够直接获取现有的最棒的Cassandra知识和实践,这也是非常使人受益的。”
——New Relic首席软件工程师Tom Offermann
早在2020年3月,DataStax已经与社区合作开源了一个Kubernetes operator。该项目针对云原生且向外扩展的数据,旨在使Cassandra成为此类数据的理想的数据库。而K8ssandra则是我们为此所做的进一步努力。
“Orange开源了能帮助Cassandra在Kubernetes上运行的CassKop operator,并为此做了很多的投入和努力。我很高兴看到K8ssandra将我们正在做的事情发扬光大——作为一个社区,我们正在一起努力,让Cassandra成为Kubernetes的数据库的标准选择。”
——Orange软件工程师Franck Dehay
References:
https://www.datastax.com/press-release/datastax-releases-k8ssandra-cloud-native-data-kubernetes