概述
本文主要介绍如何开启ceph mgr restful插件,并通过这个restful接口获取ceph的数据。
环境信息如下:
1 | [root@ceph11 ~]# ceph -s |
启动插件
1 | ceph mgr module enable restful |
发现restful服务并没有启动,8003端口没有监听,要启动restful服务,还需要配置SSL cetificate(证书)。
下面的命令生产自签名证书:
1 | ceph restful create-self-signed-cert |
这个时候可以查看在active的mgr节点(ceph14)上,restful服务已经启动
1 | [root@ceph14 ~]# netstat -nltp | grep 8003 |
默认情况下,当前active的ceph-mgr daemon将绑定主机上任何可用的IPv4或IPv6地址的8003端口
指定IP和PORT
1 | ceph config-key set mgr/restful/server_addr $IP |
如果没有配置IP,则restful将会监听全部ip
如果没有配置Port,则restful将会监听在8003端口
上面的配置是针对全部mgr的,如果要针对某个mgr的配置,需要在配置中指定相应的mgr的hostname
1 | ceph config-key set mgr/restful/$name/server_addr $IP |
创建用户
1 | [root@ceph14 ~]# ceph restful create-key admin01 |
后面的访问restful接口需要用到这个用户和密码
验证
启动restful插件后,可以通过浏览器进行访问并验证。
1 | https://192.168.180.138:8003/ |
获取全部存储池的信息
1 | https://192.168.180.138:8003/pool |
Python调用
可以通过requests来调用ceph mgr restful的接口,下面通过Python来获取全部存储池信息。
1 | #! /usr/bin/env python3 |