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.拉取所需镜像备用

 tar zxf v1.9.0.tar.gz

  cd rook-1.9.0/deploy/examples

此处注意:

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

#查看需要的镜像

cat images.txt

 Rook搭建Ceph_第1张图片

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

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

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 operator.yaml

Rook搭建Ceph_第2张图片

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

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

Rook搭建Ceph_第3张图片

 

你可能感兴趣的:(云原生,微服务,kubernetes,容器,docker)