2.cephadm介绍
2.1cephadm介绍
Cephadm 是随着 Ceph 新版本 v15.2.0(Octopus)发布的安装工具,并且不支持 Ceph的旧版本,Ceph中已经Cephadm 不依赖于外部配置工具,如 Ansible、 Rook 和 Salt,它通过 SSH 将管理器守护进程连接到主机来实现这一点。管理器守护进程可以添加、删除和更新 Ceph 容器。
Redhat Ceph 5和SUSE Ceph 7的最新版本中也已经使用了Cephadm,所以Cephadm是Ceph的安装工具的未来,并且现在Cephadm也差不多已经成熟可用了,像NFS iSCSI服务官方也宣称已经稳定可用,未来也会加入CIFS等服务,其他功能也在不停的完善中,所以是时候系统的学习下Cephadm了。
通过下图可以看出ceph新版本中的部署架构,通过一个编排接口,可以向下对接rook和cephadm两种编排工具,向上通过命令行"ceph orch"或ceph dashboard实现编排。
其实这个编排和我们理解中的容器编排是相同的,我们可以理解成Cephadm就是一个迷你版本的kubernetes,当然rook有点不同,rook可以理解成一种对接kubernetes编排的中间层,实际编排还是由kubernetes实现,而Cephadm是自己就实现了一些调度编排的逻辑。
两种编排工具支持的功能上是有些差别的,具体差别如下表所示:
Command Rook Cephadm
apply iscsi ⚪ ✔
apply mds ✔ ✔
apply mgr ⚪ ✔
apply mon ✔ ✔
apply nfs ✔ ✔
apply osd ✔ ✔
apply rbd-mirror ✔ ✔
apply rgw ✔ ✔
apply container ⚪ ✔
host add ⚪ ✔
host ls ✔ ✔
host rm ⚪ ✔
daemon status ⚪ ✔
daemon {stop,start,…} ⚪ ✔
device {ident,fault}-(on,off} ⚪ ✔
device ls ✔ ✔
iscsi add ⚪ ✔
mds add ⚪ ✔
nfs add ⚪ ✔
rbd-mirror add ⚪ ✔
rgw add ⚪ ✔
ps ✔ ✔
⚪ = not yet implemented
❌ = not applicable
✔ = implemented
Cepdm 管理 Ceph 集群的整个生命周期。这个生命周期从引导过程开始,当 cephdm 在单个节点上创建一个单节点的 Ceph 集群时。这个集群由一个MON和一个MGR组成。
在创建了单节点的Ceph集群后,Cephadm 然后会使用编排接口(“ day 2”命令)扩展集群,添加相应主机并部署相应的 Ceph 守护进程(daemons )和服务( services)。这个动作可以通过 Ceph 命令行界面(CLI)或者通过仪表板(GUI)来执行。
cephadm还在开发完善中,有些功能是文档方面没有很完善,比如,RWG,有些功能方面是没有最终确定思路,将来可能有大的变化,比如,ingress(之前叫rgw-ha),cephfs-mirror等。
2.2 相关概念介绍
上文中提到了两个名词servicet和daemon,这两个概念在cephadm中很重要,会贯穿整个ceph的生命周期的管理中。在之前的ceph-deploy中没有这个概念,当我们要部署三个MON的话,我们会在三台主机上分别部署三个MON进程,在cephadm中由于引入了编排,当我们部署一个高可用的MON服务时,会说我要部署一个mon service,但实际还是得由三个容器去承载mon,这里还引出另一个问题,这三个承载MON的容器是启动在一台主机上还是启动在三台主机上,这个就是由“放置规范”决定的了(后面我们会将放置规范),servcie和deamon的关系其实就如下图所示:
2.3放置规范介绍
上文中提示放置规范也就是部署一个Servcie,会有几个Deamon,这几个Deamon是在哪几台主机上,这就是放置规范需要规定的内容,编排调度再根据放置规范具体调度,cephadm总共有5种放置规范,如下:
明确指定匹配: 就是直接指定主机名,Deamon将直接部署到该主机上。
标签匹配: 就是在加主机的时候给主机加个标签,部署的时候Deamon将会部署到打了标签的主机上。
模式匹配: 比如prometheus是需要在每一台主机上部署的,这时候可以使用*匹配所示,那会就会在的所有主机上部署Deamon。
指定数量匹配: 就是直接指定部署Deamon的数量,由cephadm调度机制自动决定部署到哪些主机上。
还有一种特殊的匹配,就是禁用自动部署Deamon服务,改为人工部署。
以上5种模式都可以能完命令或YAM配置文件的方式定义调度放置规范。
让我们实现看下Cephadm服务的展示,下图中PLACEMENT 中*表示部署在所有主机, count:1 表示使用了指定数量匹配,ceph1;ceph2;ceph3 表示直接使用了明确指定匹配, RUNNING表示实现期望运行的Deamon和正在运行的Deamon比例,如mon显示3/5 表示mon默认指定了5个Deamon,但现在只有3台主机,所有只有3个在运行,当然这个期望数量也是可以修改的, PORTS 表示该Service暴露的IP和端口。
-----------------------------------
©著作权归作者所有:来自51CTO博客作者renlixing的原创作品,请联系作者获取转载授权,否则将追究法律责任
Cephadm全功能安装Ceph pacific
https://blog.51cto.com/renlixing/3134294