SlideShare ist ein Scribd-Unternehmen logo
1 von 13
Downloaden Sie, um offline zu lesen
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

Weitere ähnliche Inhalte

Was ist angesagt?

Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结Bypat博客出品-服务器运维集群方法总结
Bypat博客出品-服务器运维集群方法总结
redhat9
 
Kvmopt osforce
Kvmopt osforceKvmopt osforce
Kvmopt osforce
meecheng
 
Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3Bypat博客出品-服务器运维集群方法总结3
Bypat博客出品-服务器运维集群方法总结3
redhat9
 
Apache trafficserver
Apache trafficserverApache trafficserver
Apache trafficserver
Din Dindin
 

Was ist angesagt? (20)

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

Ähnlich wie Kubernetes use-ceph

V mware v shield - 部署最安全云环境的基础
V mware v shield - 部署最安全云环境的基础V mware v shield - 部署最安全云环境的基础
V mware v shield - 部署最安全云环境的基础
ITband
 

Ähnlich wie Kubernetes use-ceph (8)

Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)Azure Container Registry(preview)x Web App On Linux(preview)
Azure Container Registry(preview)x Web App On Linux(preview)
 
V mware v shield - 部署最安全云环境的基础
V mware v shield - 部署最安全云环境的基础V mware v shield - 部署最安全云环境的基础
V mware v shield - 部署最安全云环境的基础
 
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
[2020 .NET Conf] 企業Azure DevOps Service 實際應用架構與秘辛
 
Full stack-development with node js
Full stack-development with node jsFull stack-development with node js
Full stack-development with node js
 
3 introduction to kubernetes
3 introduction to kubernetes3 introduction to kubernetes
3 introduction to kubernetes
 
从Docker到容器服务
从Docker到容器服务从Docker到容器服务
从Docker到容器服务
 
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
Windows 與 Azure 的容器旅程 @ Ignite Mini 2016
 
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
實現 Angular, Docker 與 Kubernetes 持續部署 (NG+2020)
 

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