一、下载rook ceph项目到本地
git clone --single-branch --branch v1.16.7 git@github.com:rook/rook.git
cd rook/deploy/examples
二、本地拉取镜像后导入到所有集群节点
docker pull docker.io/rook/ceph:v1.16.7 --platform amd64
docker pull registry.k8s.io/sig-storage/csi-node-driver-registrar:v2.13.0 --platform amd64
docker pull quay.io/cephcsi/cephcsi:v3.13.1 --platform amd64
docker pull registry.k8s.io/sig-storage/csi-attacher:v4.8.0 --platform amd64
docker pull registry.k8s.io/sig-storage/csi-snapshotter:v8.2.0 --platform amd64
docker pull registry.k8s.io/sig-storage/csi-resizer:v1.13.1 --platform amd64
docker pull registry.k8s.io/sig-storage/csi-provisioner:v5.1.0 --platform amd64
docker pull quay.io/ceph/ceph:v19.2.2 --platform amd64
ctr -n k8s.io image import cephv167.tar
ctr -n k8s.io image import csi-node-driver-registrar.tar
ctr -n k8s.io image import cephcsi.tar
ctr -n k8s.io image import csi-attacher.tar
ctr -n k8s.io image import csi-snapshotter.tar
ctr -n k8s.io image import csi-resizer.tar
ctr -n k8s.io image import csi-provisioner.tar
ctr -n k8s.io image import ceph.tar
三、部署ceph
部署rook operator
kubectl create -f crds.yaml
kubectl create -f common.yaml
kubectl create -f operator.yaml
修改 cluster.yaml
注意 deviceFilter要填写真实的磁盘 通过 lsblk 查看
...
spec:
dashboard:
enabled: true
ssl: false
...
useAllNodes: true
useAllDevices: false
deviceFilter: "^vd[b]$"
config:
storeType: bluestore
...
创建ceph集群
kubectl create -f cluster.yaml
# 查看集群状态
kubectl -n rook-ceph get cephclusters.ceph.rook.io
# NAME DATADIRHOSTPATH MONCOUNT AGE PHASE MESSAGE HEALTH EXTERNAL FSID
# rook-ceph /var/lib/rook 3 7h32m Deleting Deleting the CephCluster HEALTH_OK
kubectl create -f toolboox.yaml
cd csi/rbd
kubectl create -f storageclass.yaml