命令记不住

登陆

Rook 在 k8s 部署 ceph

07.Rook在k8s部署ceph

1.Rook介绍

Rook是一个自管理的分布式存储编排系统,可以为k8s提供便利的存储解决方案

Rook本身并不提供存储,而是在k8s和存储之间提供适配层,简化存储系统的部署和维护工作

支持:

1.Ceph

2.NFS

3.Cassandra

缺点 :不利于后期维护

2.Rook架构

https://rook.io/

基本要求:

  • k8s集群1.16版本+,至少3个工作节点
  • 工作节点有一块未使用的硬盘
  • 仅支持Ceph Nauthus以上版本

3.k8s部署ceph

1.部署ceph集群

git clone --branch v1.7 https://github.com/rook/rook.git
cd rook-release-1.7/cluster/examples/kubernetes/ceph
kuebectl create -f crds.yam -f common.yaml -f operator.yaml
kubectl create -f cluster.yaml

2.部署工具

kubectl create -f toolbox.yaml

3.部署dashboard

kubectl apply -f dashboard-external-http.yaml
kubectl -n rook-ceph get svc
# 获取dashboard admin密码
kubectl -n rook-ceph get secret rook-ceph-dashboard-password -o jsonpath="{['data']['password']}" | base64 -d

4.RBD测试

kubectl apply -f csi/rbd/storageclass.yaml
cd ../
kubectl apply -f mysql.yaml
kubectl apply -f wordpress.yaml
kubectl get pvc
kubectl get pods.svc

5.CephFS测试

kubectl apply -f filesystem.yaml
kubectl apply -f csi/cephfs/storageclass.yaml

.