Rook

官方网站

项目地址

快速上手

安装集群

准备osd存储介质

硬盘符号

大小

作用

sdb

50GB

OSD Data

sdc

50GB

OSD Data

sdd

50GB

OSD Data

sde

50GB

OSD Metadata

安装前使用命令lvm lvs,lvm vgslvm pvs检查上述硬盘是否已经被使用,若已经使用需要删除,且确保硬盘上不存在分区和文件系统

确保开启内核rbd模块并安装lvm2

安装operator

安装ceph集群

安装命令行工具

在toolbox中使用命令ceph -s查看集群状态

在重装ceph集群时需要清理rook数据目录(默认:/var/lib/rook)

为ceph-dashboard服务添加ingress路由

获取访问dashboard所需的admin账号密码

将域名rook-ceph.minikube.local加入/etc/hosts后通过浏览器访问

使用rbd存储

创建rbd存储池

由于仅有一个节点和三个OSD,因此采用osd作为故障域

创建完成后在rook-ceph-tools中使用指令ceph osd pool ls可以看到新建了以下存储池

  • replicapool

以rbd为存储介质创建storageclass

使用statefulset测试通过storageclass挂载rbd存储

使用cephfs存储

创建mds服务与cephfs文件系统

创建完成后在rook-ceph-tools中使用指令ceph osd pool ls可以看到新建了以下存储池

  • myfs-metadata

  • myfs-data0

以cephfs为存储介质创建storageclass

使用deployment测试通过storageclass挂载cephfs共享存储

使用s3存储

创建对象存储网关

创建完成后在rook-ceph-tools中使用指令ceph osd pool ls可以看到新建了以下存储池

  • .rgw.root

  • my-store.rgw.buckets.data

  • my-store.rgw.buckets.index

  • my-store.rgw.buckets.non-ec

  • my-store.rgw.control

  • my-store.rgw.log

  • my-store.rgw.meta

为ceph-rgw服务添加ingress路由

将域名rook-ceph-rgw.minikube.local加入/etc/hosts后通过浏览器访问

使用S3用户

添加对象存储用户

创建对象存储用户的同时会生成以{{.metadata.namespace}}-object-user-{{.spec.store}}-{{.metadata.name}}为命名规则的secret,其中保存了该S3用户的AccessKey和SecretKey

获取AccessKey

获取SecretKey

根据上述步骤获取到的信息,使用S3客户端进行连接即可使用该S3用户

使用S3存储桶

创建以s3为存储的storageclass

目前不支持以s3存储创建pvc,仅可用于创建存储桶

为storageclass创建对应的存储桶资源申请

存储桶创建后会生成与桶资源申请同名的secret,其中保存着用于连接该存储桶的AccessKey和SecretKey

获取AccessKey

获取SecretKey

使用该方式获取的s3用户已经做了配额限制只能使用一个存储桶

最后更新于