本文介绍 Kubernetes 反对数据库等有状态利用的常见解决方案:StatefulSet。
在构建机器学习向量管理层时,咱们面临的一个重要问题:如何长久化数据以防止数据失落?
在浏览了许多数据库企业公布的博客后,咱们认为 StatefulSet[1] 是实现这个指标的可行办法。
咱们钻研了不同的数据库,包含 Cockroach、MySQL、MongoDB、Cassandra、PostgreSQL、Dgraph 和 Redis。咱们还钻研了 Kafka 和 Zookeeper,因为它们都须要长久化状态。咱们抉择这些数据库是基于两方面:
- 它们是业界宽泛应用的数据库解决方案,并能够部署在 Kubernetes 上。其中一些是云原生数据库,如 Cockroach。
- 这些有状态利用是不同类型的,比方 MySQL 是关系型数据库,MongoDB 是非关系型数据库。钻研不同类型的数据库让咱们对应用 StatefulSet 计划更加自信。
上面列出了一些对于如何应用 StatefulSet 在 Kubernetes 中部署不同数据库或有状态应用程序的文章。
Cockroach
- 3 ways to master stateful apps in Kubernetes[2],
Kubernetes 有两种办法治理状态:DaemonSet 和 StatefulSet,然而 Cockroach 强烈建议应用 StatefulSet。
- How to Run CockroachDB on Kubernetes[3]Deploy a Local Cluster with Kubernetes[4]
MySQL
- Run a Replicated Stateful Application[5]
- Kubernetes StatefulSet — Example & Best Practices[6]
这篇文章介绍了应用 Kubernetes StatefulSet 部署 MySQL 的端到端流程。
MongoDB
- Running MongoDB on Kubernetes with StatefulSets[7]
- How to Run MongoDB on Kubernetes[8]
Cassandra
- Deploying Cassandra with a StatefulSet[9]
PostgreSQL
- Deploying PostgreSQL as a StatefulSet in Kubernetes[10]
Dgraph[11]
Redis
- Deploying Redis Cluster on Kubernetes[12]
Kafka
- Set-up Kafka Cluster Using Kubernetes StatefulSet[13]
Zookeeper
- Running Zookeeper, A Distributed System Coordinator[14]
基于上述文章,咱们将开始应用 StatefulSet,看看它是否可能满足咱们的利用场景。
原文链接:https://medium.com/@junxie2/k…
参考援用
1.StatefulSet: https://kubernetes.io/zh-cn/d…
2.3 ways to master stateful apps in Kubernetes:https://www.cockroachlabs.com…
3.How to Run CockroachDB on Kubernetes:https://www.cockroachlabs.com…
4.Deploy a Local Cluster with Kubernetes:https://www.cockroachlabs.com…
5.Run a Replicated Stateful Application:https://kubernetes.io/docs/ta…
6.Kubernetes StatefulSet — Example & Best Practices:https://loft.sh/blog/kubernet…
7.Running MongoDB on Kubernetes with StatefulSets:https://kubernetes.io/blog/20…
8.How to Run MongoDB on Kubernetes:https://kubernetes.io/blog/20…
9.Deploying Cassandra with a StatefulSet:https://kubernetes.io/docs/tu…
10.Deploying PostgreSQL as a StatefulSet in Kubernetes:https://www.bmc.com/blogs/kub…
11.Dgraph:https://dgraph.io/docs/deploy…
12.Deploying Redis Cluster on Kubernetes:https://www.containiq.com/pos…
13.Set-up Kafka Cluster Using Kubernetes StatefulSet:https://medium.com/@knoldus/s…
14.Running Zookeeper, A Distributed System Coordinator:https://kubernetes.io/docs/tu…