Rook

官方网站

项目地址

快速上手

安装集群

准备osd存储介质

硬盘符号

大小

作用

sdb

50GB

OSD Data

sdc

50GB

OSD Data

sdd

50GB

OSD Data

sde

50GB

OSD Metadata

circle-info

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

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

安装operator

安装ceph集群

安装命令行工具

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

circle-info

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

为ceph-dashboard服务添加ingress路由

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

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

使用rbd存储

创建rbd存储池

circle-info

由于仅有一个节点和三个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

circle-info

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

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

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

获取AccessKey

获取SecretKey

circle-info

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

最后更新于