“Rook安装”的版本间的差异

来自linux中国网wiki
跳到导航 跳到搜索
(创建页面,内容为“=info= Kubernetes: v1.24.10 =Prerequisites= Raw devices (no partitions or formatted filesystems) This requires lvm2 to be installed on the host. To avoid this depe…”)
 
 
(未显示同一用户的5个中间版本)
第3行: 第3行:
  
 
=Prerequisites=
 
=Prerequisites=
 +
<pre>
 
Raw devices (no partitions or formatted filesystems)
 
Raw devices (no partitions or formatted filesystems)
 
This requires lvm2 to be installed on the host. To avoid this dependency, you can create a single full-disk partition on the disk (see below)
 
This requires lvm2 to be installed on the host. To avoid this dependency, you can create a single full-disk partition on the disk (see below)
第13行: 第14行:
 
Hard Disk-- add  我这里每个添加30G  
 
Hard Disk-- add  我这里每个添加30G  
  
==
+
root@ubuntu-200430-2:~# lsblk  -f
 +
NAME    FSTYPE        LABEL          UUID                                FSAVAIL FSUSE% MOUNTPOINT
 +
loop0  squashfs                                                                  0  100% /snap/core20/2015
 +
loop1  squashfs                                                                  0  100% /snap/lxd/24061
 +
loop2  squashfs                                                                  0  100% /snap/snapd/20092
 +
sda                                                                                       
 +
├─sda1  ext4          cloudimg-rootfs 6482e2e0-f3de-4156-bc4b-49b189543d07  12.1G    55% /
 +
├─sda14                                                                                   
 +
└─sda15 vfat          UEFI            AD2F-0F3A                              98.3M    6% /boot/efi
 +
sdb    #这一行空  安装后 为 下面的样子
 +
 
 +
sdb    ceph_bluestore 安装后                                                                   
 +
 
 +
</pre>
 +
 
 +
=ins and config=
 +
<pre>
 +
git clone --single-branch --branch v1.6.3 https://github.com/rook/rook.git
 +
#天朝你懂的 所以官司的很多东西拉不来的
 +
cd rook/cluster/examples/kubernetes/ceph
 +
 
 +
修改Rook CSI镜像地址,原本的地址可能是gcr的镜像,但是gcr的镜像无法被国内访问,所以需要同步gcr的镜像到阿里云镜像仓库,本文档已经为大家完成同步,可以直接修改如下:
 +
 
 +
vim operator.yaml
 +
改为:
 +
 
 +
ROOK_CSI_REGISTRAR_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-node-driver-registrar:v2.0.1"
 +
ROOK_CSI_RESIZER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-resizer:v1.0.1"
 +
ROOK_CSI_PROVISIONER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-provisioner:v2.0.4"
 +
ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-snapshotter:v4.0.0"
 +
ROOK_CSI_ATTACHER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-attacher:v3.0.2"
 +
 
 +
还是operator文件,新版本rook默认关闭了自动发现容器的部署,可以找到ROOK_ENABLE_DISCOVERY_DAEMON改成true即可:
 +
 
 +
##Deploy the Rook Operator  下面的可以参考官方了
 +
cd cluster/examples/kubernetes/ceph
 +
kubectl create -f crds.yaml -f common.yaml -f operator.yaml
 +
 
 +
# verify the rook-ceph-operator is in the `Running` state before proceeding
 +
kubectl -n rook-ceph get pod
 +
 
 +
 
 +
 
 +
创建ceph集群
 +
 
 +
kubectl create -f cluster.yaml
 +
 
 +
#过程慢慢等
 +
root@k8smater:~/rook# kubectl -n rook-ceph get pod
 +
NAME                                              READY  STATUS      RESTARTS  AGE
 +
csi-cephfsplugin-6nwx9                            3/3    Running    0          126m
 +
csi-cephfsplugin-kn56d                            3/3    Running    0          126m
 +
csi-cephfsplugin-provisioner-77c7f8f674-9kcn8    6/6    Running    0          126m
 +
csi-cephfsplugin-provisioner-77c7f8f674-vjlp5    6/6    Running    0          126m
 +
csi-cephfsplugin-xgsrj                            3/3    Running    0          126m
 +
csi-rbdplugin-mxbrx                              3/3    Running    0          126m
 +
csi-rbdplugin-p9z5m                              3/3    Running    0          126m
 +
csi-rbdplugin-provisioner-5b78cf5f59-f66cf        6/6    Running    0          126m
 +
csi-rbdplugin-provisioner-5b78cf5f59-t6tjh        6/6    Running    0          126m
 +
csi-rbdplugin-pvkzs                              3/3    Running    0          126m
 +
rook-ceph-crashcollector-work1-77c4b4995-ww7qn    1/1    Running    0          108m
 +
rook-ceph-crashcollector-work2-85fb65c68d-qkgwx  1/1    Running    0          123m
 +
rook-ceph-crashcollector-work3-555d56d445-9lkr4  1/1    Running    0          123m
 +
rook-ceph-mds-myfs-a-6c9fc8cff5-z66fv            1/1    Running    0          108m
 +
rook-ceph-mds-myfs-b-54f94bbd77-h5jnk            1/1    Running    0          108m
 +
rook-ceph-mgr-a-784bb444f8-m48lw                  1/1    Running    0          123m
 +
rook-ceph-mon-a-5699bddbbf-t9g59                  1/1    Running    0          123m
 +
rook-ceph-mon-b-5874d4cc7c-pc8f6                  1/1    Running    0          123m
 +
rook-ceph-mon-c-6c479888cd-rr57r                  1/1    Running    0          123m
 +
rook-ceph-operator-76948f86f7-s69j5              1/1    Running    0          140m
 +
rook-ceph-osd-0-5fd689dc96-ng6c6                  1/1    Running    0          123m
 +
rook-ceph-osd-1-7bcfcf7656-gcrn2                  1/1    Running    0          123m
 +
rook-ceph-osd-prepare-work1-wvvx4                0/1    Completed  0          122m
 +
rook-ceph-osd-prepare-work2-9pcxl                0/1    Completed  0          122m
 +
rook-ceph-osd-prepare-work3-wsd8m                0/1    Completed  0          122m
 +
rook-ceph-tools-897d6797f-k9tcs                  1/1    Running    0          118m
 +
rook-discover-4q7tw                              1/1    Running    0          137m
 +
rook-discover-hrtrl                              1/1    Running    0          137m
 +
rook-discover-nzw6l                              1/1    Running    0          137m
 +
root@k8smater:~/rook#
 +
 
 +
To verify that the cluster is in a healthy state, connect to the Rook toolbox and run the ceph status command.
 +
 
 +
All mons should be in quorum
 +
A mgr should be active
 +
At least one OSD should be active
 +
If the health is not HEALTH_OK, the warnings or errors should be investigated
 +
 
 +
安装ceph 客户端工具
 +
 
 +
这个文件的路径还是在ceph文件夹下
 +
 
 +
kubectl  create -f toolbox.yaml -n rook-ceph
 +
 
 +
待容器Running后,即可执行相关命令:
 +
 
 +
[root@k8s-master]# kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash
 +
[root@rook-ceph-tools-fc5f9586c-m2wf5 /]# ceph status
 +
  cluster:
 +
    id:    9016340d-7f90-4634-9877-aadc927c4e81
 +
    health: HEALTH_WARN
 +
            mons are allowing insecure global_id reclaim
 +
            clock skew detected on mon.b
 +
 
 +
  services:
 +
    mon: 3 daemons, quorum a,b,c (age 3m)
 +
    mgr: a(active, since 44m)
 +
    osd: 3 osds: 3 up (since 38m), 3 in (since 38m)
 +
 
 +
  data:
 +
    pools:  1 pools, 1 pgs
 +
    objects: 0 objects, 0 B
 +
    usage:  3.0 GiB used, 57 GiB / 60 GiB avail
 +
    pgs:    1 active+clean
 +
 
 +
配置ceph dashboard
 +
 
 +
默认的ceph 已经安装的ceph-dashboard,但是其svc地址为service clusterIP,并不能被外部访问
 +
 
 +
kubectl apply -f dashboard-external-https.yaml
 +
 
 +
创建NodePort类型就可以被外部访问了
 +
 
 +
root@k8smater:~/rook/rook/cluster/examples/kubernetes/ceph# kubectl get svc -n rook-ceph|grep dashboard
 +
rook-ceph-mgr-dashboard                  ClusterIP  10.233.209.181  <none>        8443/TCP            7m50s
 +
rook-ceph-mgr-dashboard-external-https  NodePort    10.233.72.80    <none>        8443:30491/TCP      18s
 +
 
 +
浏览器访问(master01-ip换成自己的集群ip):
 +
 
 +
https://master01-ip:32529/#/login?returnUrl=%2Fdashboard
 +
 
 +
https://192.168.10.31:30491/#/login?returnUrl=%2Fdashboard
 +
 
 +
用户名默认是admin,至于密码可以通过以下代码获取:
 +
 
 +
kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}"|base64 --decode && echo
 +
iS_cB+NB>|g^"$b&dv:xxxxxxxx
 +
 
 +
</pre>
  
 
=references=
 
=references=
  
 
https://rook.io/docs/rook/v1.6/ceph-quickstart.html
 
https://rook.io/docs/rook/v1.6/ceph-quickstart.html
 +
 +
https://zhuanlan.zhihu.com/p/387531212
 +
 +
 +
https://developer.aliyun.com/article/873291
 +
 +
https://www.cnblogs.com/mgsudu/p/16162617.html
 +
 +
https://juejin.cn/post/7079046477577715742
 +
 +
https://www.cnblogs.com/deny/p/14229987.html
 +
 +
 +
[[category:k8s]] [[category:devops]]

2023年10月9日 (一) 10:34的最新版本

info

Kubernetes: v1.24.10

Prerequisites

Raw devices (no partitions or formatted filesystems)
This requires lvm2 to be installed on the host. To avoid this dependency, you can create a single full-disk partition on the disk (see below)
Raw partitions (no formatted filesystem)
Persistent Volumes available from a storage class in block mode

个人建议有三个工作节点或者更加多

首先为三个节点添加三个未格式化的硬盘 ,我用的是proxmox  直接在ui添加 也行 选择每个节点vm 
Hard Disk-- add  我这里每个添加30G 

root@ubuntu-200430-2:~# lsblk  -f 
NAME    FSTYPE         LABEL           UUID                                 FSAVAIL FSUSE% MOUNTPOINT
loop0   squashfs                                                                  0   100% /snap/core20/2015
loop1   squashfs                                                                  0   100% /snap/lxd/24061
loop2   squashfs                                                                  0   100% /snap/snapd/20092
sda                                                                                        
├─sda1  ext4           cloudimg-rootfs 6482e2e0-f3de-4156-bc4b-49b189543d07   12.1G    55% /
├─sda14                                                                                    
└─sda15 vfat           UEFI            AD2F-0F3A                              98.3M     6% /boot/efi
sdb     #这一行空  安装后 为 下面的样子

sdb     ceph_bluestore 安装后                                                                    

ins and config

git clone --single-branch --branch v1.6.3 https://github.com/rook/rook.git
#天朝你懂的 所以官司的很多东西拉不来的
cd rook/cluster/examples/kubernetes/ceph

修改Rook CSI镜像地址,原本的地址可能是gcr的镜像,但是gcr的镜像无法被国内访问,所以需要同步gcr的镜像到阿里云镜像仓库,本文档已经为大家完成同步,可以直接修改如下:

vim operator.yaml
改为:

 ROOK_CSI_REGISTRAR_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-node-driver-registrar:v2.0.1"
 ROOK_CSI_RESIZER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-resizer:v1.0.1"
 ROOK_CSI_PROVISIONER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-provisioner:v2.0.4"
 ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-snapshotter:v4.0.0"
 ROOK_CSI_ATTACHER_IMAGE: "registry.cn-beijing.aliyuncs.com/dotbalo/csi-attacher:v3.0.2"

还是operator文件,新版本rook默认关闭了自动发现容器的部署,可以找到ROOK_ENABLE_DISCOVERY_DAEMON改成true即可:

##Deploy the Rook Operator   下面的可以参考官方了
cd cluster/examples/kubernetes/ceph
kubectl create -f crds.yaml -f common.yaml -f operator.yaml

# verify the rook-ceph-operator is in the `Running` state before proceeding
kubectl -n rook-ceph get pod



创建ceph集群

kubectl create -f cluster.yaml

#过程慢慢等
root@k8smater:~/rook# kubectl -n rook-ceph get pod
NAME                                              READY   STATUS      RESTARTS   AGE
csi-cephfsplugin-6nwx9                            3/3     Running     0          126m
csi-cephfsplugin-kn56d                            3/3     Running     0          126m
csi-cephfsplugin-provisioner-77c7f8f674-9kcn8     6/6     Running     0          126m
csi-cephfsplugin-provisioner-77c7f8f674-vjlp5     6/6     Running     0          126m
csi-cephfsplugin-xgsrj                            3/3     Running     0          126m
csi-rbdplugin-mxbrx                               3/3     Running     0          126m
csi-rbdplugin-p9z5m                               3/3     Running     0          126m
csi-rbdplugin-provisioner-5b78cf5f59-f66cf        6/6     Running     0          126m
csi-rbdplugin-provisioner-5b78cf5f59-t6tjh        6/6     Running     0          126m
csi-rbdplugin-pvkzs                               3/3     Running     0          126m
rook-ceph-crashcollector-work1-77c4b4995-ww7qn    1/1     Running     0          108m
rook-ceph-crashcollector-work2-85fb65c68d-qkgwx   1/1     Running     0          123m
rook-ceph-crashcollector-work3-555d56d445-9lkr4   1/1     Running     0          123m
rook-ceph-mds-myfs-a-6c9fc8cff5-z66fv             1/1     Running     0          108m
rook-ceph-mds-myfs-b-54f94bbd77-h5jnk             1/1     Running     0          108m
rook-ceph-mgr-a-784bb444f8-m48lw                  1/1     Running     0          123m
rook-ceph-mon-a-5699bddbbf-t9g59                  1/1     Running     0          123m
rook-ceph-mon-b-5874d4cc7c-pc8f6                  1/1     Running     0          123m
rook-ceph-mon-c-6c479888cd-rr57r                  1/1     Running     0          123m
rook-ceph-operator-76948f86f7-s69j5               1/1     Running     0          140m
rook-ceph-osd-0-5fd689dc96-ng6c6                  1/1     Running     0          123m
rook-ceph-osd-1-7bcfcf7656-gcrn2                  1/1     Running     0          123m
rook-ceph-osd-prepare-work1-wvvx4                 0/1     Completed   0          122m
rook-ceph-osd-prepare-work2-9pcxl                 0/1     Completed   0          122m
rook-ceph-osd-prepare-work3-wsd8m                 0/1     Completed   0          122m
rook-ceph-tools-897d6797f-k9tcs                   1/1     Running     0          118m
rook-discover-4q7tw                               1/1     Running     0          137m
rook-discover-hrtrl                               1/1     Running     0          137m
rook-discover-nzw6l                               1/1     Running     0          137m
root@k8smater:~/rook# 

To verify that the cluster is in a healthy state, connect to the Rook toolbox and run the ceph status command.

All mons should be in quorum
A mgr should be active
At least one OSD should be active
If the health is not HEALTH_OK, the warnings or errors should be investigated

安装ceph 客户端工具

这个文件的路径还是在ceph文件夹下

kubectl  create -f toolbox.yaml -n rook-ceph

待容器Running后,即可执行相关命令:

[root@k8s-master]# kubectl -n rook-ceph exec -it deploy/rook-ceph-tools -- bash
[root@rook-ceph-tools-fc5f9586c-m2wf5 /]# ceph status
  cluster:
    id:     9016340d-7f90-4634-9877-aadc927c4e81
    health: HEALTH_WARN
            mons are allowing insecure global_id reclaim
            clock skew detected on mon.b

  services:
    mon: 3 daemons, quorum a,b,c (age 3m)
    mgr: a(active, since 44m)
    osd: 3 osds: 3 up (since 38m), 3 in (since 38m)

  data:
    pools:   1 pools, 1 pgs
    objects: 0 objects, 0 B
    usage:   3.0 GiB used, 57 GiB / 60 GiB avail
    pgs:     1 active+clean

配置ceph dashboard

默认的ceph 已经安装的ceph-dashboard,但是其svc地址为service clusterIP,并不能被外部访问

kubectl apply -f dashboard-external-https.yaml

创建NodePort类型就可以被外部访问了

 root@k8smater:~/rook/rook/cluster/examples/kubernetes/ceph# kubectl get svc -n rook-ceph|grep dashboard
rook-ceph-mgr-dashboard                  ClusterIP   10.233.209.181   <none>        8443/TCP            7m50s
rook-ceph-mgr-dashboard-external-https   NodePort    10.233.72.80     <none>        8443:30491/TCP      18s

浏览器访问(master01-ip换成自己的集群ip):

https://master01-ip:32529/#/login?returnUrl=%2Fdashboard

https://192.168.10.31:30491/#/login?returnUrl=%2Fdashboard

用户名默认是admin,至于密码可以通过以下代码获取:

kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}"|base64 --decode && echo
iS_cB+NB>|g^"$b&dv:xxxxxxxx

references

https://rook.io/docs/rook/v1.6/ceph-quickstart.html

https://zhuanlan.zhihu.com/p/387531212


https://developer.aliyun.com/article/873291

https://www.cnblogs.com/mgsudu/p/16162617.html

https://juejin.cn/post/7079046477577715742

https://www.cnblogs.com/deny/p/14229987.html