一、安装Ceph客户端工具¶
当我们部署完成ceph后,还不能使用ceph命令,需要安装ceph 客户端工具方可使用。
1.修改toolbox.yaml文件中国外镜像为本地镜像,即将quay.io/ceph/ceph:v17.2.6修改为registry.cn-hangzhou.aliyuncs.com/abroad_images/ceph:v17.2.6
$ cd /root/rook/deploy/examples/
$ vim toolbox.yaml

2.安装 ceph 客户端工具
$ k create -f toolbox.yaml
3.验证安装成功
[root@k8s-master01 examples]# k get po -n rook-ceph -l app=rook-ceph-tools
NAME READY STATUS RESTARTS AGE
rook-ceph-tools-6b465bd77-jrj84 1/1 Running 0 52s
4.使用ceph命令测试
(1)查看ceph状态
[root@k8s-master01 examples]# k exec -it -n rook-ceph rook-ceph-tools-6b465bd77-jrj84 -- bash
bash-4.4$ ceph status
cluster:
id: 1fb7e7e8-4cae-4fc9-9ca1-274e75a14c51
health: HEALTH_OK
services:
mon: 3 daemons, quorum b,a,c (age 2h)
mgr: a(active, since 2h), standbys: b
osd: 3 osds: 3 up (since 93m), 3 in (since 93m)
data:
pools: 1 pools, 1 pgs
objects: 2 objects, 449 KiB
usage: 62 MiB used, 120 GiB / 120 GiB avail
pgs: 1 active+clean
(2)查看osd状态
[root@k8s-master01 examples]# k exec -it -n rook-ceph rook-ceph-tools-6b465bd77-jrj84 -- bash
bash-4.4$ ceph status
cluster:
id: 1fb7e7e8-4cae-4fc9-9ca1-274e75a14c51
health: HEALTH_OK
services:
mon: 3 daemons, quorum b,a,c (age 2h)
mgr: a(active, since 2h), standbys: b
osd: 3 osds: 3 up (since 93m), 3 in (since 93m)
data:
pools: 1 pools, 1 pgs
objects: 2 objects, 449 KiB
usage: 62 MiB used, 120 GiB / 120 GiB avail
pgs: 1 active+clean
bash-4.4$ ceph osd status
ID HOST USED AVAIL WR OPS WR DATA RD OPS RD DATA STATE
0 k8s-node02 20.6M 39.9G 0 0 0 0 exists,up
1 k8s-node01 20.5M 39.9G 0 0 0 0 exists,up
2 k8s-master03 20.5M 39.9G 0 0 0 0 exists,up
(3)查看ceph磁盘使用率
[root@k8s-master01 examples]# k exec -it -n rook-ceph rook-ceph-tools-6b465bd77-jrj84 -- bash
bash-4.4$ ceph df
--- RAW STORAGE ---
CLASS SIZE AVAIL USED RAW USED %RAW USED
hdd 120 GiB 120 GiB 62 MiB 62 MiB 0.05
TOTAL 120 GiB 120 GiB 62 MiB 62 MiB 0.05
--- POOLS ---
POOL ID PGS STORED OBJECTS USED %USED MAX AVAIL
.mgr 1 1 449 KiB 2 1.3 MiB 0 38 GiB
二、安装Ceph Dashboard¶
ceph的Dashboard默认是已经安装完成的,只是只能内部访问。现在如果我们想要从外部访问必须要修改服务类型为Nodeport。
[root@k8s-master01 examples]# k get svc -n rook-ceph
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rook-ceph-mgr ClusterIP 10.0.100.139 <none> 9283/TCP 129m
rook-ceph-mgr-dashboard ClusterIP 10.0.133.71 <none> 7000/TCP 129m
rook-ceph-mon-a ClusterIP 10.0.231.9 <none> 6789/TCP,3300/TCP 155m
rook-ceph-mon-b ClusterIP 10.0.108.212 <none> 6789/TCP,3300/TCP 135m
rook-ceph-mon-c ClusterIP 10.0.56.222 <none> 6789/TCP,3300/TCP 129m
新版本修改服务类型为Nodeport的文件已存在,此时我们只需要直接创建即可
$ cd /root/rook/deploy/examples/
$ k create -f dashboard-external-http.yaml
查看dashboard暴露的端口,通过任意 k8s 节点的 IP+该端口即可访问该 dashboard:
[root@k8s-master01 examples]# k get svc -n rook-ceph
NAME TYPE CLUSTER-IP EXTERNAL-IP PORT(S) AGE
rook-ceph-mgr ClusterIP 10.0.100.139 <none> 9283/TCP 142m
rook-ceph-mgr-dashboard ClusterIP 10.0.133.71 <none> 7000/TCP 142m
rook-ceph-mgr-dashboard-external-http NodePort 10.0.80.105 <none> 7000:30083/TCP 19s
rook-ceph-mon-a ClusterIP 10.0.231.9 <none> 6789/TCP,3300/TCP 169m
rook-ceph-mon-b ClusterIP 10.0.108.212 <none> 6789/TCP,3300/TCP 148m
rook-ceph-mon-c ClusterIP 10.0.56.222 <none> 6789/TCP,3300/TCP 143m
打开浏览器输入http://192.168.1.31:30083/即可访问该 dashboard

默认账号为admin,密码通过以下方式进行查看
[root@k8s-master01 examples]# k get secret -n rook-ceph rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 -d && echo
xxxxxxx
