文章
问答
冒泡
使用 rook operator 在 k8s 上安装 ceph 集群

一、下载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

k8s

关于作者

小乙哥
学海无涯,回头是岸
获得点赞
文章被阅读