Ceph 对 K8s 说,我们(一):K8S带上Ceph一起玩

一、前言:

讲Ceph和K8S 前需要你了解下面的两篇文章,对K8S(ceph的新女友)和openstack(ceph的前女友)有所认识。

  1. K8S入门系列(一):Kubernetes的历史(由来)与架构
  2. Ceph 入门系列(四) :CEPH与OPENSTACK

二、Ceph作为后端分布式存储系统

虽然Ceph的后端(OSD)是真正的对象存储分布式文件系统,但Ceph为Openstack提供了方便的块存储和对象存储接口,结果Ceph当时就认准绑上了白富美Openstack才有了今天。再后来Ceph被Redhat接管,更是把rbd集成到了kernel,Ceph的推广度大力增加。

Ceph 对 K8s 说,我们(一):K8S带上Ceph一起玩_第1张图片

                                                                Openstack框架图

Openstack是云计算个的管理专家(基于VM),但技术是向前发展的,容器技术的优势目前锐不可当。要理解虚拟机和容器的区别或者说优劣势,请参考文章Docker容器入门系列(一):技术选型之Docker容器引擎。

Ceph 对 K8s 说,我们(一):K8S带上Ceph一起玩_第2张图片

                                                                               K8S框架图

K8S看到了容器的前景,把自己定位成了容器编排引擎,K8S的前景就此一片光明。那么作为后端的Ceph存储分布式文件系统集群该何去何从呢?K8S也需要持久性存储,自然它会支持主流的存储系统。K8S靠volume 插件特性来提供存储,目前官网支持的volume plugin 类型如下:

Volume Plugin ReadWriteOnce ReadOnlyMany ReadWriteMany
AWSElasticBlockStore - -
AzureFile
AzureDisk - -
CephFS
Cinder - -
CSI depends on the driver depends on the driver depends on the driver
FC -
Flexvolume depends on the driver
Flocker - -
GCEPersistentDisk -
Glusterfs
HostPath - -
iSCSI -
Quobyte
NFS
RBD -
VsphereVolume - - (works when pods are collocated)
PortworxVolume -
ScaleIO -
StorageOS

 我们看到与Ceph相关的有,CephFS RBD。另外,值得一提的是:为了更好的结合 Ceph 和 K8S,诞生了Rook开源项目。Rook也是go语言开发的,它让K8S更方便的使用Ceph。Rook和K8S的关系图如下:

Ceph 对 K8s 说,我们(一):K8S带上Ceph一起玩_第3张图片

Rook的结构图如下:

Ceph 对 K8s 说,我们(一):K8S带上Ceph一起玩_第4张图片

待续。。。Ceph 对 K8s 说,我们(二):K8S的 volume 介绍

参考:

https://kubernetes.io/docs/concepts/storage/persistent-volumes/

 

你可能感兴趣的:(Ceph,Kubernetes)