Rancher如何对接Ceph-RBD块存储
概要
演示环境说明
整个测试环境由以下2台本地虚拟机组成,相关信息说明如下:
引言
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的自定义商店
名称:Ceph
地址:https://github.com/niusmallnan/rancher-rbd-catalog.git
分支:master
RBD驱动安装
进入应用商店,搜索RBD进行安装。安装完成后:
再进 系统架构|存储 查看,显示两个节点:
安装测试应用
应用安装
新建一个名为myapp的空应用栈并添加myapp服务:
红色线框为配置重点:
使用驱动卷插件与使用本地卷驱动有所区别, 使用本地卷驱动添加卷时应该写 /AA/BB:/CC/DD,前后都要为路径; 使用驱动卷插件时应该写为 A:/BB/CC 。这个的A为一个卷名,不能是路径。
因为是Ceph存储,这里需要填卷驱动为:rancher-rbd 。部署好之后如图:
查看 基础架构|存储,容器卷卷名为:myapp
数据存储测试
此时我们看到容器是运行在 :node1上,容器名为:myapp-myapp-1。
通过执行命令登录容器,并向/root下写入test文件。
接着把这个服务容器删除,删除后myapp应用栈为空:
在空应用栈中再添加一个服务,为了易于区分,重新命名为myapp2,并手动调度容器运行到node2上。
PS:新建的服务,参数中的卷名与卷映射路径必须相同,卷驱动也要相同。
点击创建,服务成功运行在node2上。
查看 基础架构|存储,容器卷卷名还为:myapp
进入容器的/root目录查看创建的文件
文件依然存在。此时容器是在node2上,说明文件并非保存在节点本地,证明Ceph存储对接成功。
原文来源:Rancher Labs
9月27日,北京海航万豪酒店,容器技术大会Container Day 2017即将举行。
CloudStack之父、海航科技技术总监、华为PaaS部门部长、恒丰银行科技部总经理、阿里云PaaS工程总监、民生保险CIO······均已加入豪华讲师套餐!
11家已容器落地企业,15位真·云计算大咖,13场纯·技术演讲,结合实战场景,聚焦落地经验。免费参会+超高规格,详细议程及注册链接请戳
本文转自 RancherLabs 51CTO博客,原文链接:http://blog.51cto.com/12462495/1953516

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Rancher upgrade webhook之CI/CD
概述 结合大家CI/CD的应用场景,本篇Blog旨在介绍如何通过Rancher的webhook微服务来实现CI/CD的联动。 流程介绍 本次实践的主要流程如下: CI/CD console从代码托管、配置中心、第三方依赖平台拉取应用相应的代码,配置、依赖、并构建应用镜像。 将构建好的应用镜像推送到镜像仓库。 通过Rancher Server暴露出来的API/UI/CLI创建并启动应用栈。 在Rancher Server上创建upgrade类型的webhook。 更新应用、重新构建应用镜像,同时推送到镜像仓库。 触发Dev环境的webhook,完成Dev环境的服务升级。 Dev环境验证升级是否成功,应用是否正常。 触发Beta环境的webhook,完成Beta环境的服务升级。 Beta环境验证升级是否成功,应用是否正常。 出发Prod环境的webhook,完成Prod环境的服务升级。 Prod环境验证升级是否成功,应用是否正常。 webhook介绍 Rancher webhook的服务流程大致如下: router根据用户提交过来的method和url初始化对应的handler。 hand...
- 下一篇
如何用微服务重构应用程序
在决定使用微服务之后,为了将微服务付诸实践,也许你已经开始重构你的应用程序或把重构工作列入了待办事项清单。 无论是哪种情况,如果这是你第一次重构应用程序,那么您和您的团队必将在某个时刻面临一个显而易见的问题:如何重构应用程序以实现微服务? 这也正是这篇文章要思考和探讨的。 重构基础 在讨论如何将重构转化为微服务之前,退后一步,仔细观察微服务的内容和时间是很重要的。以下两个要点将会对任何微服务重构策略产生重大影响。 重构=重新设计 将一个单体式的应用程序重构为微服务,与重新设计一个基于微服务的应用程序, 有着本质区别。也许您更倾向于摒弃旧的应用程序(特别是面对杂乱无序的旧应用程序,这些应用程序在补丁修改和加固补充方面带来了沉重的技术债负担),制定一套新的需求, 并从零开始创建一个全新的应用程序,直接在微服务级别工作。 正如Martin Fowler在这篇文章中所指出,在微服务级设计一个新的应用程序可能不是一个好主意。Fowler的分析中最重要的一点是,在移动到基于微服务的架构时,从现有的单体式应用程序开始可以真正发挥微服务的优势。 通过现有的单体式应用程序,您可能会清楚地了解各种组...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker安装Oracle12C,快速搭建Oracle学习环境
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS8编译安装MySQL8.0.19
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Windows10,CentOS7,CentOS8安装Nodejs环境