SlideShare a Scribd company logo
K8S使⽤用Ceph存储
杨冠军
K8S存储
• 静态存储供应

• PV:Persistent Volume

• PVC:Persistent Volume Claim

• ⼿手动绑定PV到PVC

• 动态存储供应

• StorageClass

• ⾃自动创建PV和PVC并进⾏行行绑定
K8S Volume图示
RBD
• RBD:Rados Block Device

• ⽹网络块设备

• 每个PV对应⼀一个RBD Image

• 特点:

• ReadWriteOnce

• ReadOnlyMany
K8S使⽤用RBD
• 部署RBD Provisioner

• 与Ceph集群交互,创建/删除RBD Image

• 创建Secret(Ceph不不开启认证时忽略略)

• 创建StorageClass

• 配置Ceph集群相关信息:Monitor / Pool / Secret / ImageFormat

• 创建PVC

• 指定使⽤用上述StorageClass

• 创建POD使⽤用PVC

• 指定使⽤用上述PVC
RBD PVC使⽤用
• Map RBD Image到Host

• 命令:rbd map

• 格式化⽂文件系统

• 命令:mkfs.ext4 /dev/rbd<id>

• Mount到指定⽬目录

• 命令:mount /dev/rbd<id> /var/lib/kubelet/pods/…

• 映射到Docker Container使⽤用
CephFS
• Ceph FileSystem

• 部署MDS:MetaData Server

• 每个PV对应CephFS的⼀一个⼦子⽬目录

• 特点:

• 兼容POSIX

• ReadWriteMany:可以多个PODs挂载同⼀一个CephFS⽬目录
K8S使⽤用CephFS
• 部署CephFS Provisioner

• 与Ceph集群交互,创建/删除CephFS⼦子⽬目录

• 创建Secret(Ceph不不开启认证时忽略略)

• 创建StorageClass

• 配置Ceph集群相关信息:Monitor / Admin User / Secret

• 创建PVC

• 指定使⽤用上述StorageClass

• 创建POD使⽤用PVC

• 指定使⽤用上述PVC
CephFS PVC使⽤用
• Mount CephFS⼦子⽬目录到Host

• 内核Client:mount -t ceph …

• ⾼高性能需求场景!

• ⽤用户态Client:ceph-fuse

• 映射到Docker Container使⽤用
K8S CSI
• 当前模式:In-Tree

• 与K8S代码集成⼀一起

• 存储插件,各⼚厂商开发Storage Provisioner

• 未来:CSI - Container Storage Interface

• K8S提供统⼀一的CSI插件

• 各⼚厂商独⽴立开发满⾜足CSI的存储插件
K8S CSI架构
Ceph CSI
• 项⽬目:https://github.com/ceph/ceph-csi

• ⽀支持存储:

• RBD

• CephFS

• 版本⽀支持:K8S V1.11+
Q&A

More Related Content

PDF
Ceph intro
PDF
Ceph perf-tunning
PDF
Ceph monitor-op
PDF
Design realization and application of RBD NBD - Wang Li
PDF
Hacking Nginx at Taobao
PDF
阿里CDN技术揭秘
PDF
Docker初识
PPTX
Windows Container 101: dotNET, Container, Kubernetes
Ceph intro
Ceph perf-tunning
Ceph monitor-op
Design realization and application of RBD NBD - Wang Li
Hacking Nginx at Taobao
阿里CDN技术揭秘
Docker初识
Windows Container 101: dotNET, Container, Kubernetes

What's hot (20)

PDF
一个 Mongodb command 的前世今生
PDF
Cinder isaci 实现原理详解
PPTX
RxJS 6 新手入門
PDF
Bypat博客出品-服务器运维集群方法总结
PPTX
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
PPT
Traffic server overview
PPTX
如何针对业务做DB优化
PDF
Kvmopt osforce
PDF
Bypat博客出品-服务器运维集群方法总结3
PDF
阿里云CDN技术演进之路
PDF
Bypat博客出品-服务器运维集群方法总结2
PDF
Nginx深度開發與客制化
PPTX
云梯的多Namenode和跨机房之路
PDF
Mesos intro
PDF
Chasingice
PPTX
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
PDF
Ceph in UnitedStack
PDF
Hantuo openstack
PDF
主库自动切换 V2.0
PDF
Apache trafficserver
一个 Mongodb command 的前世今生
Cinder isaci 实现原理详解
RxJS 6 新手入門
Bypat博客出品-服务器运维集群方法总结
開發人員必須知道的 Kubernetes 核心技術 - Kubernetes Summit 2018
Traffic server overview
如何针对业务做DB优化
Kvmopt osforce
Bypat博客出品-服务器运维集群方法总结3
阿里云CDN技术演进之路
Bypat博客出品-服务器运维集群方法总结2
Nginx深度開發與客制化
云梯的多Namenode和跨机房之路
Mesos intro
Chasingice
使用 C#/Razor 開發互動式 WebAssembly 網站 (Modern Web 2018)
Ceph in UnitedStack
Hantuo openstack
主库自动切换 V2.0
Apache trafficserver
Ad

Kubernetes use-ceph

  • 2. K8S存储 • 静态存储供应 • PV:Persistent Volume • PVC:Persistent Volume Claim • ⼿手动绑定PV到PVC • 动态存储供应 • StorageClass • ⾃自动创建PV和PVC并进⾏行行绑定
  • 4. RBD • RBD:Rados Block Device • ⽹网络块设备 • 每个PV对应⼀一个RBD Image • 特点: • ReadWriteOnce • ReadOnlyMany
  • 5. K8S使⽤用RBD • 部署RBD Provisioner • 与Ceph集群交互,创建/删除RBD Image • 创建Secret(Ceph不不开启认证时忽略略) • 创建StorageClass • 配置Ceph集群相关信息:Monitor / Pool / Secret / ImageFormat • 创建PVC • 指定使⽤用上述StorageClass • 创建POD使⽤用PVC • 指定使⽤用上述PVC
  • 6. RBD PVC使⽤用 • Map RBD Image到Host • 命令:rbd map • 格式化⽂文件系统 • 命令:mkfs.ext4 /dev/rbd<id> • Mount到指定⽬目录 • 命令:mount /dev/rbd<id> /var/lib/kubelet/pods/… • 映射到Docker Container使⽤用
  • 7. CephFS • Ceph FileSystem • 部署MDS:MetaData Server • 每个PV对应CephFS的⼀一个⼦子⽬目录 • 特点: • 兼容POSIX • ReadWriteMany:可以多个PODs挂载同⼀一个CephFS⽬目录
  • 8. K8S使⽤用CephFS • 部署CephFS Provisioner • 与Ceph集群交互,创建/删除CephFS⼦子⽬目录 • 创建Secret(Ceph不不开启认证时忽略略) • 创建StorageClass • 配置Ceph集群相关信息:Monitor / Admin User / Secret • 创建PVC • 指定使⽤用上述StorageClass • 创建POD使⽤用PVC • 指定使⽤用上述PVC
  • 9. CephFS PVC使⽤用 • Mount CephFS⼦子⽬目录到Host • 内核Client:mount -t ceph … • ⾼高性能需求场景! • ⽤用户态Client:ceph-fuse • 映射到Docker Container使⽤用
  • 10. K8S CSI • 当前模式:In-Tree • 与K8S代码集成⼀一起 • 存储插件,各⼚厂商开发Storage Provisioner • 未来:CSI - Container Storage Interface • K8S提供统⼀一的CSI插件 • 各⼚厂商独⽴立开发满⾜足CSI的存储插件
  • 12. Ceph CSI • 项⽬目:https://github.com/ceph/ceph-csi • ⽀支持存储: • RBD • CephFS • 版本⽀支持:K8S V1.11+
  • 13. Q&A