获得技术资料内容,请访问Greenplum中文社区网站
如果你好奇在Kubernetes上运行什么样的应用程序最好,根据我们的经验,外扩型的分布式应用绝对是名列前茅的,而Greenplum就是最好的例子。
我们于2017年正式成立项目,致力于研究Greenplum如何最大化利用容器技术以及容器管理平台(例如Kubernetes)的优势。当时,Greenplum已经开始通过SQL查询和UDF(用户自定义函数)利用容器(例如PL/Container)。这些容器曾经在(现在仍旧)在函数的隔离上,和资源的精细管理方面非常有用。我们的下一个步骤就是将整个Greenplum移植到容器里面。这是否会是一种非常规的方式?是否是一个对遗留应用的“提升加搬动”有效的解决方案?这两种技术(Greenplum与容器)是否会像手与手套一样的天衣无缝地融合?
在探索的过程中,我们首先把Greenplum打包在了一个容器里面,并只运行此单个容器。当然这并不是一个完整的方案,但在正确的方向上迈出了第一步。这可以帮助我们测试和理解如何在这种环境下,进行程序的隔离、资源管理和数据存储。需要指出的是,容器并不是一个新技术,它没有增加新的层来分离执行代码和硬件,而仅仅是利用了Linux内核的基础构建,比如说,cgroups、命名空间(namespaces)和chroot,