两个方面:
(1)docker的话,目前也有docker集群,但和k8s一样,如果不改进,mysql集群是不可能跑在k8s里的,比如,master down了,是重启master,还是立刻重新调度,这些都是问题,目前我看到的
爱可生有解决方案,就是不重新调度。
(2)cncf有解决的方案,应该已经毕业了,《Kubernetes助力CNCF Vitess实现MySQL扩展》,
vitess可以看做是在k8s中架设了一个mycat
对于容器上的中间件、数据库来说,建议使用专业的容器管理平台,实现从部署、配置、运维、管理的全过程维护。
如,mysql数据库,不是在容器上简单部署多个实例就能解决高可用的问题,需要针对数据库的不同模式提供相应的能力。同时,在日常维护中也需要对数据库的配置参数、性能指标、账号权限等复杂且繁琐的管理。
因此,不建议中间件、数据库轻易上容器,上容器后会带来很大复杂的运维和管理问题,这些都是普通的容器云平台不能提供的能力,需要有基于容器的专业中间件、数据库管理平台提供能力。