Rancher如何对接Ceph-RBD块存储

简介:

概要


演示环境说明


整个测试环境由以下2台本地虚拟机组成,相关信息说明如下:


wKioL1mDOv7Co86cAAAqFgux7cc846.png


引言


Librbd(RBD)是Ceph提供的块存储库,其利用Rados提供的API实现对卷的管理和操作。就目前而言,在Ceph支持的三种接口Posix(CephFS)、块存储(Librbd)和对象存储(RadosGW)接口中,块存储是目前最稳定且达到生产环境要求的接口。Ceph 块设备是精简配置的、大小可调且将数据条带化存储到集群内多个OSD 。Ceph 块设备利用 RADOS 的多种能力,如快照、复制和一致性。Ceph 的 RADOS 块设备(RBD)使用内核模块或 librbd 库与 OSD 交互。


Rancher-RBD安装


Ceph 服务端安装


如果没有Ceph 服务器,可以通过容器运行一个Ceph 服务器 DEMO环境:

1
2
docker run -d --net=host -v /etc/ceph:/etc/ceph -e MON_IP= 192.168 . 1.11   -e
CEPH_PUBLIC_NETWORK= 192.168 . 1.0 / 24  ceph/demo:tag-build-master-jewel-ubuntu- 16.04

IP地址根据实际情况修改。


通过scp命令,把Ceph 服务容器所在宿主机/etc/ceph路径下所有文件复制到Rancher 环境下所有节点的相同路径下。


Ceph-RBD驱动插件安装


添加自定义应用商店


进入 系统管理|系统设置 添加一个名为Ceph的自定义商店


wKioL1mDO1XSH87xAABNDgWxVxg548.png


名称:Ceph

地址:https://github.com/niusmallnan/rancher-rbd-catalog.git

分支:master


RBD驱动安装


进入应用商店,搜索RBD进行安装。安装完成后:


wKiom1mDO2TzMP3WAAAXLTl1Q-Y597.png


再进 系统架构|存储 查看,显示两个节点:


wKioL1mDO22iADZfAACOFk56QNw606.png


安装测试应用


应用安装


新建一个名为myapp的空应用栈并添加myapp服务:


wKiom1mDO4LRAsb2AABcUu78SeA794.pngwKiom1mDO4qAqaNDAADAWx16i38083.png


红色线框为配置重点:


使用驱动卷插件与使用本地卷驱动有所区别, 使用本地卷驱动添加卷时应该写 /AA/BB:/CC/DD,前后都要为路径; 使用驱动卷插件时应该写为 A:/BB/CC 。这个的A为一个卷名,不能是路径。


因为是Ceph存储,这里需要填卷驱动为:rancher-rbd 。部署好之后如图:


wKioL1mDO5ejlLInAAA9LfC9e0A226.pngwKiom1mDO56C0plAAABexex8iKk378.png


查看 基础架构|存储,容器卷卷名为:myapp 


wKiom1mDO6uS6u5OAAAl051MINQ860.png


数据存储测试


此时我们看到容器是运行在 :node1上,容器名为:myapp-myapp-1。


wKiom1mDO7LjJc70AAA4IQKzk4I640.png


通过执行命令登录容器,并向/root下写入test文件。


wKiom1mDO8viOOjEAABTz-wVkvE736.pngwKioL1mDO9TjgXl0AABfOgl76Uw155.png


接着把这个服务容器删除,删除后myapp应用栈为空:


wKioL1mDO9_APxnUAAAb-GWoqd8195.png


在空应用栈中再添加一个服务,为了易于区分,重新命名为myapp2,并手动调度容器运行到node2上。


PS:新建的服务,参数中的卷名与卷映射路径必须相同,卷驱动也要相同。


wKiom1mDO-qSzIyqAABbAOQSgfg869.pngwKioL1mDO_LQS_oTAABQC8poCAI124.png


点击创建,服务成功运行在node2上。


wKiom1mDO_6SI6nlAAA_4PJUsd8260.pngwKioL1mDPAfjqmSSAABEpNGG3Dw813.png


查看  基础架构|存储,容器卷卷名还为:myapp


wKioL1mDPBPwJslIAAA1Olx04es107.png


进入容器的/root目录查看创建的文件


wKioL1mDPB-jY3ThAABcSXIUlZY217.png


文件依然存在。此时容器是在node2上,说明文件并非保存在节点本地,证明Ceph存储对接成功。


原文来源:Rancher Labs


9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。


CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!


11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳

wKiom1nAfjSjx33IAAgMYxVaxjM064.png



本文转自 RancherLabs 51CTO博客,原文链接:http://blog.51cto.com/12462495/1953516

相关实践学习
块存储快速入门
块存储是阿里云为云服务器ECS提供的块设备产品。通过体验挂载数据盘、分区格式化数据盘(Linux)、创建云盘快照、重新初始化数据盘、使用快照回滚云盘和卸载数据盘等功能,带您快速入门块存储。
相关文章
|
3月前
|
存储 安全 API
OpenStack的块存储卷管理卷 (Volume)
【8月更文挑战第26天】
89 5
|
2月前
|
存储 Kubernetes 数据安全/隐私保护
k8s对接ceph集群的分布式文件系统CephFS
文章介绍了如何在Kubernetes集群中使用CephFS作为持久化存储,包括通过secretFile和secretRef两种方式进行认证和配置。
94 5
|
2月前
|
存储 消息中间件 算法
深入解析OpenStack Cinder:块存储服务详解
本文介绍了OpenStack及其块存储服务Cinder。OpenStack是一个开源云计算管理平台,提供基础设施即服务(IaaS),核心服务包括计算、网络、存储等。Cinder主要用于为虚拟机提供持久性块存储,具备多种功能,如卷操作、备份、快照及与实例的交互等。此外,还详细介绍了Cinder的工作流程、命令行操作及不同存储插件的使用。
435 8
|
3月前
|
存储 固态存储 网络性能优化
OpenStack的块存储(Cinder)
【8月更文挑战第24天】
118 2
|
4月前
|
存储 关系型数据库 算法框架/工具
Ceph 架构以及部署
Ceph 架构以及部署
182 26
|
存储 Kubernetes Linux
Kubernetes 集群使用 GlusterFS 作为数据持久化存储
Kubernetes 集群使用 GlusterFS 作为数据持久化存储
128 0
|
Kubernetes 容器
kubernetes挂载ceph rbd和cephfs
kubernetes挂载ceph rbd和cephfs
|
存储 关系型数据库 网络安全
手动部署ceph octopus集群
手动部署ceph octopus集群
手动部署ceph octopus集群
|
存储 关系型数据库 块存储
|
监控 网络安全 开发工具
ceph部署
初次部署ceph,走了很多弯路,特别是ceph网站提供的yum源,有些问题安装总是出错,总结下此次安装成功的步骤,留个脚印!
11047 0