ceph安装Dashboard并开启Object Gateway管理功能
安装配置dashboard
Ceph-Dashboard 是用 Python 开发的一个 Ceph 的监控面板,用来监控 Ceph 的运行状态。同时 提供 REST API 来访问状态数据。
低版本的ceph需要在每个mgr节点安装软件:yum install ceph-mgr-dashboard -y
高版本的自带dashboard module
可以通过列出 ceph 所有模块查看是否有dashboard module,显示有但是未启用则直接启动,未显示则需要安装软件:ceph-mgr-dashboard
目前 mgr 功能模块可能还存在选举问题,如果多mgr节点都开启,可能会出现web页面取不到数据,建议只开启一个mgr节点服务,然后关闭其他节点mgr服务。
1.查看 Ceph 模块
Ceph mgr 是一个多模块化的组件,其组件可以单独的启用或关闭。
其操作在 ceph-deploy 服务器操作。
[ceph@ceph-deploy ceph-cluster]$ ceph mgr module ls # 列出 ceph 所有模块
2.启用 dashboard 模块
注意事项:模块启用后还不能直接访问,需要配置关闭 SSL 或启用 SSL 及指定监听地址。
Ceph dashboard 模块在 mgr 节点进行开启设置,并且配置关闭 SSL
# 启用模块
[ceph@ceph-deploy ceph-cluster]$ ceph mgr module enable dashboard
# 关闭 dashboard SSL 功能
[ceph@ceph-deploy ceph-cluster]$ ceph config set mgr mgr/dashboard/ssl false
# 验证 ceph 集群状态
[ceph@ceph-deploy ceph-cluster]$ ceph -s
如果有以下报错:
Module 'dashboard' has failed: error('No socket could be created',)
需要检查 mgr 服务是否正常运行,可以重启一遍 mgr 服务 : systemctl restart ceph-mgr@.service
3.设置 dashboard 账户及密码
# 设置 admin 用户密码为 123456
[ceph@ceph-deploy ceph-cluster]$ ceph dashboard set-login-credentials admin 123456
Username and password updated
4.查看访问地址
# 未启用 SSL ,查看当前 dashboard 访问 URL
[ceph@ceph-deploy ceph-cluster]$ ceph mgr services
{
"dashboard": "http://node1:8080/"
}
说明:未启用ssl,默认端口是8080,启动ssl,默认端口是8443
5.配置ssl证书访问
生成证书
[ceph@ceph-deploy ceph-cluster]$ ceph dashboard create-self-signed-cert
# 启用 SSL
[ceph@ceph-deploy ceph-cluster]$ ceph config set mgr mgr/dashboard/ssl true
# 重启 mgr 服务
[root@ceph-mgr1 ~]# systemctl restart ceph-mgr@ceph-mgr1
# 启用 SSL ,查看当前 dashboard 访问 URL
[ceph@ceph-deploy ceph-cluster]$ ceph mgr services
{
"dashboard": "https://node1:8443/"
}
6.设置访问IP和端口号
# 指定 dashboard 监听地址
[ceph@ceph-deploy ceph-cluster]$ ceph config set mgr mgr/dashboard/server_addr 10.16.16.111
# 指定 dashboard 监听端口
[ceph@ceph-deploy ceph-cluster]$ ceph config set mgr mgr/dashboard/server_port 9009
# 在 mgr 节点验证端口与进程
# lsof -i:9009
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
ceph-mgr 3846 ceph 28u IPv4 32351 0t0 TCP ceph-mgr1.lck.local:pichat (LISTEN)
生效需要重启一遍 mgr 服务 : systemctl restart ceph-mgr@.service
查看当前 dashboard 访问 URL
[ceph@ceph-deploy ceph-cluster]$ ceph mgr services
{
"dashboard": "https://10.16.16.111:9009/"
}
开启Object Gateway管理功能
进来之后什么都看不到,是因为没有配置权限
1.创建rgw用户
在ceph节点里面创建用户,这个用户会生成两个key
[root@node1 ~]# radosgw-admin user create --uid=user01 --display-name=user01 --system
{
"user_id": "user01",
"display_name": "user01",
"email": "",
"suspended": 0,
"max_buckets": 1000,
"auid": 0,
"subusers": [],
"keys": [
{
"user": "user01",
"access_key": "2GVA9G1JKW0JMQAELYS8",
"secret_key": "hbcSDsgeqy0JCuAGLKHPxbpONW9LUT6cWCk8WAf6"
}
],
"swift_keys": [],
"caps": [],
"op_mask": "read, write, delete",
"system": "true",
"default_placement": "",
"placement_tags": [],
"bucket_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"user_quota": {
"enabled": false,
"check_on_raw": false,
"max_size": -1,
"max_size_kb": 0,
"max_objects": -1
},
"temp_url_keys": [],
"type": "rgw",
"mfa_ids": []
}
留意上面出来的这俩参数
"access_key": "2GVA9G1JKW0JMQAELYS8",
"secret_key": "hbcSDsgeqy0JCuAGLKHPxbpONW9LUT6cWCk8WAf6"
# 把最后的字符串写入文件,命令引用文件来使用会报错,具体看下图,这里直接使用字符串了
[root@node1 ~]# ceph dashboard set-rgw-api-access-key 2GVA9G1JKW0JMQAELYS8
Option RGW_API_ACCESS_KEY updated
[root@node1 ~]# ceph dashboard set-rgw-api-secret-key hbcSDsgeqy0JCuAGLKHPxbpONW9LUT6cWCk8WAf6
Option RGW_API_SECRET_KEY updated
现在为dashboard这个接口提供这两个key去访问,那么就可以看到一些功能了
另一种方式,使用文件的形式
参考网站:https://blog.csdn.net/qq_34556414/article/details/116598310
[root@cephnode01 ~]# echo YN20C83EE5F83VE1PY31 > access.key
[root@cephnode01 ~]# ceph dashboard set-rgw-api-access-key -i access.key
Option RGW_API_ACCESS_KEY updated
[root@cephnode01 ~]# echo IStDC3Tq2BANS7EVwgY7iagFkmCp7AzgVeQc8Qiq > secret.key
[root@cephnode01 ~]# ceph dashboard set-rgw-api-secret-key -i secret.key
Option RGW_API_SECRET_KEY updated
2.配置rgw主机名和端口
[root@node1 ~]# netstat -tpln | grep 7480
tcp 0 0 0.0.0.0:7480 0.0.0.0:* LISTEN 13606/radosgw
[root@node1 ~]# ceph dashboard set-rgw-api-host 10.16.16.111
Option RGW_API_HOST updated
[root@node1 ~]# ceph dashboard set-rgw-api-port 7480
Option RGW_API_PORT updated
其他命令
ceph dashboard set-rgw-api-scheme http
ceph dashboard set-rgw-api-user-id user01
ceph dashboard set-rgw-api-ssl-verify False