安装前准备
#确认安装lvm2
yum install lvm2 -y
#启用rbd模块
modprobe rbd
cat > /etc/rc.sysinit << EOF
#!/bin/bash
for file in /etc/sysconfig/modules/*.modules
do
[ -x \$file ] && \$file
done
EOF
cat > /etc/sysconfig/modules/rbd.modules << EOF
modprobe rbd
EOF
chmod 755 /etc/sysconfig/modules/rbd.modules
lsmod |grep rbd
克隆文件
$ git clone --single-branch --branch v1.9.2 https://github.com/rook/rook.git
#以上官网的
#我的已经修改好的镜像
git clone https://git.rapha.top/admins/rook-ceph.git
修改 operator.yaml 只是简单替换镜像
ROOK_CSI_CEPH_IMAGE: "registry.cn-hangzhou.aliyuncs.com/qiansong/cephcsi:v3.6.1"
ROOK_CSI_REGISTRAR_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.5.0"
ROOK_CSI_RESIZER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-resizer:v1.4.0"
ROOK_CSI_PROVISIONER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-provisioner:v3.1.0"
ROOK_CSI_SNAPSHOTTER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-snapshotter:v5.0.1"
ROOK_CSI_ATTACHER_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/csi-attacher:v3.4.0"
ROOK_CSI_NFS_IMAGE: "registry.cn-hangzhou.aliyuncs.com/google_containers/nfsplugin:v3.1.0"
修改1
修改2 ROOK_ENABLE_DISCOVERY_DAEMON改成true即可:
最后部署
kubectl create -f crds.yaml -f common.yaml -f operator.yaml
kubectl -n rook-ceph get pod
kubectl create -f cluster.yaml
开启 配置ceph dashboard 可以看1.83版本的
创建块存储以供 Pod (RWO) 使用
kubectl apply -f storageclass.yaml
# demon
kubectl apply -f pvc.yaml -f pod.yaml
本次主推文件系统多节点存储
创建文件系统
cat > filesystem.yaml<<END
apiVersion: ceph.rook.io/v1
kind: CephFilesystem
metadata:
name: myfs
namespace: rook-ceph
spec:
metadataPool:
replicated:
size: 3
dataPools:
- name: replicated
replicated:
size: 3
preserveFilesystemOnDelete: true
metadataServer:
activeCount: 1
activeStandby: true
END
等待mds pod启动,确认文件系统配置完成
# kubectl -n rook-ceph get pod -l app=rook-ceph-mds
NAME READY STATUS RESTARTS AGE
rook-ceph-mds-myfs-a-647fc89c45-d9xll 1/1 Running 0 28s
rook-ceph-mds-myfs-b-5b4d57796c-r4r94 1/1 Running 0 28s
再使用官网写好的StorageClass
kubectl apply -f storageclass.yaml
测试之后
kubectl apply -f kuboard-v3.yaml