一、安装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

安装 ceph 客户端工具-1

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

安装 ceph Dashboard-1

默认账号为admin,密码通过以下方式进行查看

[root@k8s-master01 examples]# k get secret -n rook-ceph rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 -d &&  echo

xxxxxxx

安装 ceph Dashboard-2