我应该直接使用k8s statefulsets还是mysql-operator部署主从mysql集群?

时间:2020-08-03 16:41:25

标签: mysql kubernetes master-slave kubernetes-statefulset kubernetes-operator

所以我想在k8s中部署一个主从MySQL集群。我发现了两种似乎很流行的方式:

  1. 第一个是直接使用k8s官方文档https://kubernetes.io/docs/tutorials/stateful-application/basic-stateful-set/
  2. 中的状态集
  3. 第二个是使用运算符,即https://github.com/oracle/mysql-operator

哪种方法最常用?

此外,在有状态集中,如果我的MySQL主服务器死了,k8s会自动将从服务器提升为主服务器吗?

最后,当我的逻辑后端应用对MySQL集群执行操作(CRUD)时,k8如何知道要路由到哪个Pod,即写操作只能在向所有人发送读操作时才发送给主设备?

1 个答案:

答案 0 :(得分:1)

用户可以基于StatefulSets在k8​​s中部署和维护一组高度可用的MySQL服务,该过程相对复杂。此过程要求用户熟悉各种k8s资源对象,了解许多MySQL操作细节并维护一组复杂的管理脚本。 Kubernetes运营商旨在降低在k8上部署复杂应用程序的门槛。

操作员隐藏了复杂应用程序的业务流程细节,并大大降低了在k8s中使用它们的阈值。如果需要部署其他复杂的应用程序,我们建议您使用操作员。

谈论使用StatefulSet时的主选举。 选择潜在的从站成为主站并不是一个自动过程-您必须使用Xtrabackup手动进行配置-这里是更多信息-setting_up_replication

看看:cloning-existing-datastarting-replicationmysql-statefulset-operator

有用的工具:vitess用于更好的MySQL网络管理,percona-xtradb-cluster用于提供卓越的性能,可伸缩性和工具。