容器云平台是否适合跑关系型数据库或是贵司是否已经在容器跑了生产数据库?

问题一:容器云平台作为DevOps工具链的重要组成部分,特别适合应用微服务的运行,其灵活的部署和操作方式,可以显著提高持续交付的效率。但是坦白来说也增加了架构的复杂度,在问题排查方面增加了复杂度。生产系统追求问题,架构以简单好用为主,不知企业容器云平台的使用情况到底如何?
问题二:容器云平台基于其自身的优劣属性,个人人为不适合跑生产数据库,理由如下:容器隔离级别低于虚拟机,其安全性亦存在一定问题,基于容器的成熟的安全方案较少;关系型数据库要求持久化,并且对io要求较高,同时数据库的性能瓶颈出现在io的可能性极大,容器应该是非常不合适的;网络方面数据库需要专用、持久的吞吐,基于开源的容器网络是否能够支持,网络性能来说不太靠谱;以及其他原因等,不知道其他专家朋友怎么看待容器跑生产数据库的问题以及是否已经运行了数据库,效果如何?

参与13

2同行回答

北京不眠夜@博云北京不眠夜@博云  产品经理 , 公司
问题一,我理解作者想说,k8s架构过于复杂,会造成排错困难   有句话,难者不会,会者不难。诚然,K8s作为新技术我们有很高的学习成本,但一项新技术出来后,我们就因为其复杂不适用了吗?我们应该从这项技术带来的价值和成本综合来看。K8s的敏捷、弹性、自愈、环境一致性等特性我就不...显示全部

问题一,我理解作者想说,k8s架构过于复杂,会造成排错困难
   有句话,难者不会,会者不难。诚然,K8s作为新技术我们有很高的学习成本,但一项新技术出来后,我们就因为其复杂不适用了吗?我们应该从这项技术带来的价值和成本综合来看。K8s的敏捷、弹性、自愈、环境一致性等特性我就不细说了。
   遇到问题,我们应该想怎么去解决问题。排错困难,我们可以让监控内容更丰富,结果展示更直接有效,如,具体到某个组件状态及解决方案。而不是简单的把CPU、内存、磁盘等基本信息堆在页面上,让用户去分析。把故障排查做的更智能、更人性化,而非僵化的去展示机器语言。

问题二,我理解是想表达,关系型数据库是否适合容器化运行?
如果是几年前问我数据库是否容器化?我的回答是肯定的,不适合。
放到今天看,我认为数据库和中间件非常适合容器化,并且这也是容器应用场景之一。
我们先看看容器化后的中间件、数据库有哪些好处?
a、弹性伸缩利于资源快速扩展,隔离机制有效提高资源利用率
b、容器镜像易于标准化,容器让交付周期大大缩短
c、故障自愈保障服务稳定运行,界面化实现一键升级、回滚等操作
d、自动化程度高,降低使用门槛

关于网络问题:
建议用underlay网络的直通方案,网络性能损耗小。overlay网络损耗较大,不适合中间件、数据库的容器化场景。

关于存储问题:
常见对接容器云的存储以网络存储为主,是网络存储就会有延时和IO的瓶颈。或者,有些方案性能ok,但投入巨大,也让广大用户望而却步。
我们目前的方案是使用本地存储解决数据库、中间件对高IO的需求。我们也把本地存储方案carina进行了开源,有兴趣可以自行百度。

最后,我想说一下不是把数据库部署到容器上就万事大吉了。yaml、helm的管理能力仅限于部署层面,目前operator是管理数据库、中间件的最优解,可以实现自动部署、生命周期管理、可观测性、容灾备份、自动运维、无缝升级等丰富的能力。
注:当前开源的operator能力都不够完善,使用的时候需要进行相关能力增强,即要二次开发。

收起
软件开发 · 2022-10-09
  • 非常感谢回答,内容也很完善。但是我也想知道作为用户,在实际使用容器过程中,是怎样的?特别是是否已经将生产数据库运行在容器云平台,以及使用容器云过程中经历过哪些真实问题。
    2022-10-09
zftangzftang  其它 , 小白一枚
容器云平台非常适合跑关系型数据库的,放心大胆的搞显示全部

容器云平台非常适合跑关系型数据库的,放心大胆的搞

收起
互联网服务 · 2022-10-09
浏览943
zhanxuechao 邀答

提问者

zhanxuechao
咨询专家数字研究院
擅长领域: 云计算数据库安全

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2022-10-09
  • 关注会员:4 人
  • 问题浏览:2179
  • 最近回答:2022-10-09
  • X社区推广