科瓦列夫-福托利亚
ClusterHQ Flocker如何在集装箱化环境中工作?
Docker是最流行的应用程序容器化方法之一,但它使迁移变得困难。开源ClusterHQ Flocker体系结构可以提供帮助。
如今,在集装箱化环境中提供存储虚拟化的主要方式是通过ClusterHQ Flocker体系结构。目前,Docker是集装箱运输中使用最广泛的产品。然而,Docker在存储方面的历史表现并不好。简单地说,Docker非常适合虚拟化无状态应用程序--但是,当容器化应用程序需要文件系统访问时,容器从一个主机移动到另一个主机变得更加困难,因为Docker数据卷绑定到特定服务器。
ClusterHQ通过一个体系结构将存储虚拟化引入Docker环境,解决了这个问题叫弗洛克. Flocker创建一个虚拟磁盘体积,供应商将其称为植绒量. 此卷驻留在受支持的存储后端上。Flocker存储区旨在承载持久数据,例如数据库数据。
Flocker卷与常规网络卷的不同之处在于Flocker使用网络代理。集群中的所有节点都可以访问此网络代理,每个容器也可以访问此代理。网络代理的工作是管理容器和虚拟化存储之间的链接。通过这样做,可以将容器迁移到其他集群节点,而不必在迁移过程中中断容器化应用程序。通常,如果您尝试移动本机Docker容器,其数据量仍然落后。这意味着容器化数据库将在没有任何数据可访问的情况下启动。当Docker容器使用ClusterHQ Flocker体系结构时,其数据量随容器移动。
与Docker一样,ClusterHQ Flocker也是开源的。值得注意的是,Flocker依赖于代理,因此仅与特定的操作系统版本兼容,包括CentOS 7、Ubuntu 14.04、Ubuntu 15.04(仅限命令行)和OS X(仅限命令行)。类似地,只支持有限数量的存储后端,包括Amazon Web服务、Amazon弹性块存储、Rackspace云块存储、OpenStack Cinder兼容存储、EMC ScaleIO、EMC XtremIO和本地ZFS存储(测试版)。