Rook搭建Ceph

                                       Rook搭建Ceph

一、软件版本及先决条件

  软件版本:  

软件版本名称

软件版本号

Pacific

16.2.7

Rook

V1.9

  先决条件:

  • K8s集群,1.16版本+
  • K8s至少3个工作节点
  • 每个工作节点至少有一块未使用的硬盘
  • Rook仅支持部署Ceph Nautilus以上版本

二、搭建Rook

1.下载代码

  wget https://github.com/rook/rook/archive/refs/tags/v1.9.0.tar.gz

2.拉取所需镜像

此处注意:

  因为不熟需要的部分镜像国内无法下载,所以需要修改国内源或者国内源拉下来后重新打tag,本文选择后者:

tar zxf v1.9.0.tar.gz

cd rook-1.9.0/deploy/examples

#查看需要的镜像

cat images.txt

画圈部分无法下载,所以换成国内源下载

#下载镜像地址(以下两步每个节点都需要运行)

docker pull registry.aliyuncs.com/google_containers/csi-attacher:v3.4.0

docker pull registry.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.5.0

docker pull registry.aliyuncs.com/google_containers/csi-provisioner:v3.1.0

docker pull registry.aliyuncs.com/google_containers/csi-resizer:v1.4.0

docker pull registry.aliyuncs.com/google_containers/csi-snapshotter:v5.0.1

为了省事,把剩下的镜像也下载下来

docker pull quay.io/ceph/ceph:v16.2.7

docker pull quay.io/cephcsi/cephcsi:v3.6.0

docker pull quay.io/csiaddons/k8s-sidecar:v0.2.1

docker pull quay.io/csiaddons/volumereplication-operator:v0.3.0

docker pull rook/ceph:v1.9.0  

#国内镜像重新打tag

docker tag registry.aliyuncs.com/google_containers/csi-attacher:v3.4.0 k8s.gcr.io/sig-storage/csi-attacher:v3.4.0

docker tag registry.aliyuncs.com/google_containers/csi-node-driver-registrar:v2.5.0 k8s.gcr.io/sig-storage/csi-node-driver-registrar:v2.5.0

docker tag registry.aliyuncs.com/google_containers/csi-provisioner:v3.1.0 k8s.gcr.io/sig-storage/csi-provisioner:v3.1.0

docker tag registry.aliyuncs.com/google_containers/csi-resizer:v1.4.0 k8s.gcr.io/sig-storage/csi-resizer:v1.4.0

docker tag registry.aliyuncs.com/google_containers/csi-snapshotter:v5.0.1 k8s.gcr.io/sig-storage/csi-snapshotter:v5.0.1

#还有一种办法,修改operator.yaml文件(未实测)。

vim rook-1.9.0/deploy/examples/operator.yaml

此处去掉注释,修改成国内镜像地址

3.部署ceph集群

kubectl create -f crds.yaml -f common.yaml -f operator.yaml

kubectl create -f cluster.yaml 

4.部署工具

   kubectl create -f toolbox.yaml 

5.部署Dashboard

kubectl apply -f dashboard-external-https.yaml

kubectl get svc -n rook-ceph

# 获取 dashboard admin密码

kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 -d

 访问dashboard :https://Node IP:port

 

posted @ 2022-04-20 16:18  愤怒的小白~  阅读(1324)  评论(0编辑  收藏  举报