总有刁民想害朕
作者总有刁民想害朕·2017-10-11 11:20
存储工程师·ansteel

容器的存储和网络开源方案该咋选?

字数 2135阅读 2427评论 0赞 4

容器存储的选择

时至今日,企业客户运行容器的,编排工具大多数选择K8S。

因此,我们先到社区里看看,目前K8S支持的持久存储,其实也就是PV支持的存储类型。
https://kubernetes.io/docs/concepts/storage/persistent-volumes/

微信图片_20171011094853.jpg

微信图片_20171011094853.jpg

其中,AWS、GCE、Azure都是公有云的存储方式,本文不进行分析。

● vSphere的存储指的是用vSAN的Datastore
● Quobyte是2013年成立的一公司,
● 家Quobyte也是一家SDS的公司,K8S支持Quobyte的文件系统。
● 根据Linux基金会公布的数据,目前:能够支持K8S的开源、分布式SDS项目,Ceph和GlusterFS排名是很靠前的。(详细参照:https://www.linux.com/news/open-cloud-report/2016/guide-open-cloud-software-defined-storage-opens)。

我们看一下github上ceph项目的情况:

微信图片_20171011095023.jpg

微信图片_20171011095023.jpg

再看一下GlusterFS项目的情况:

微信图片_20171011095053.jpg

微信图片_20171011095053.jpg

从社区活跃度看,目前ceph要高很多。那么,是不是容器存储就应该选Ceph?如果客户选择Docker+K8S或者Openshift构建私有容器云,存储选择哪种方式比较好?

下面,针对Openshift的应用场景,我们对GlusterFS、Ceph RBD以及NFS的优缺点进行分析:

对比项Ceph RBDGlusterfsSAN+NFS
Openshift平台容器数据持久化的支持支持Pod级的动态创建,不支持ReadWriteMany;当Kubernetes运行在OpenStack上时,它是最好的存储支持动态分配;支持ReadWriteOnce和ReadWriteMany;Container Native Storage静态支持,手动和静态预先支持,空间分配低效,容器级别安全性有待提升;普遍使用的,易于设置PoC,易于理解;支持ReadWriteOnce和ReadWriteMany
高可用Ceph系统提供了对象、块、和文件存储功能,使用CRUSH算法维护存储对象与存储服务器的对应关系,无Master设计。对象复制,集群扩容,数据迁移,故障检测和处理等复杂功能由Ceph OSD(Object Storage Device)提供,避免了单点失败Glusterfs开源的分布式文件系统,没有元数据服务器层,存储使用弹性哈希算法来查找存储池中的数据(通过文件名来计算哈希值),从而消除了单点故障和导致 I/O 瓶颈的常见根源和故障多发情况依赖于存储硬件和NFS
数据保护Ceph OSD 守护进程自动在其它 Ceph 节点上创建对象副本来确保数据安全和高可用性,存储池快照数据分布与跨节点的多个bricks,支持在线卷快照(Volume Snapshot),可恢复镜像时间点数据,同时支持跨区域(WLAN)的异步主备份卷复制依赖于存储硬件RAID、快照、和复制
扩展性能可以动态添加节点和硬盘可以动态增加或缩减数据存储池和节点可以动态增加或缩减数据存储池,依赖于存储硬件
caching/分层存储能力支持,比如:ssd盘组成的缓冲层(IO性能要求高的应用)而相对低速、便宜的设备,作为经济存储层(IO性能要求低)支持,比如:ssd盘组成的缓冲层(IO性能要求高的应用)而相对低速、便宜的设备,作为经济存储层(IO性能要求低)支持,依赖于存储硬件
安装和管理安装简单,维护较复杂安装、维护简单安装、维护简单
故障恢复但节点失效时,自动迁移数据,重新复制副本当节点、硬件、磁盘、网络故障时,系统能自动处理,无须管理员介入。依赖于存储硬件
成本硬件成本低硬件成本低硬件成本高

综合以上参数,Openshift平台优先Gluster,Openstack优先Ceph RBD,当不考虑成本及易用性的角度可以用NFS。

容器网络的选择

同样,如果客户使用Openshift,SDN如何选择?请看下表。

对比项Openshift SDNCalicoContive
实现机制基于OVS bridge vxlan基于BGP的三层交换基于OVS的2层交换,也支持BGP三层交换
网络模型支持Kubernetes CNICNI,CNMCNI,CNM
多租户支持不支持支持
包转发性能性能损耗较低性能损耗低vxlan性能损失较高
Vxlan支持支持不支持支持
QOS支持There is experimental support不支持支持
访问控制策略基于Openflow,三方插件基于iptables,calico network policyOpenflow
软件成熟度中等
易用性和可维护性中等,当规模较大时候增加维护难度
网络硬件依赖BGP协议,可能对硬件有一定侵入性依赖厂家特定交换机
可扩展性
二次开发中等中等较高

综合以上参数,Openshift平台优先选择Openshift SDN。

本文转自微信公众号:大卫分享

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

4

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关文章

相关问题

相关资料

X社区推广