rook是一个云原生存储编排器,为Ceph存储提供平台、框架和支持,以便与云原生环境进行本地集成。
将分布式存储系统(如Ceph)转变为自我管理、自我扩展、自我修复的存储服务。
- 自动化管理:rook自动化了存储管理员的任务,包括部署、引导、配置、调配、扩展、升级、迁移、灾难恢复、监控和资源管理。
- 云原生集成:rook紧密整合了Kubernetes的特性,使Ceph存储系统能够以Kubernetes原生的方式进行部署和管理。
- 支持多种存储类型:rook支持包括块存储、文件系统和对象存储在内的多种存储类型,以满足不同类型的存储需求。
1 2 3 4 5 6 7 8 9 10 11
| 1.搞个最新版的rook-v1.14.5 wget https://github.com/rook/rook/archive/refs/tags/v1.14.5.zip unzip v1.14.5.zip cd rook-1.14.5/
2.修改配置文件 vim deploy/examples/operator.yaml 修改镜像地址改成阿里云的
ROOK_ENABLE_DISCOVERY_DAEMON: "true"
|

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18
| 3.安装kook cd deploy/examples/ kubectl apply -f crds.yaml -f common.yaml -f operator.yaml
kubectl get pods -n rook-ceph NAME READY STATUS RESTARTS AGE rook-ceph-operator-65b8cb57cc-bqd5r 1/1 Running 0 15m rook-discover-9blzl 1/1 Running 0 8m19s rook-discover-cqtfc 1/1 Running 0 8m19s rook-discover-n9j54 1/1 Running 0 8m19s
4.创建ceph集群 修改/root/rook-1.14.5/deploy/examples/cluser.yaml文件 vim cluster.yaml 在storage.config字段下添加nodes信息
同时每个节点扩容50个G的sdb,裸盘,建议最少三个节点,ceph集群三个节点起步 kubectl apply -f cluster.yaml
|



1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39
| 5.安装ceph客户端工具 kubectl apply -f toolbox.yaml kubectl get pods -n rook-ceph | grep tools rook-ceph-tools-58c6857df4-zsgnc 1/1 Running 0 40s
进入客户端工具中可以使用ceph的命令,已经可以查看ceph集群了 kubectl exec -it -n rook-ceph rook-ceph-tools-58c6857df4-zsgnc /bin/bash
bash-4.4$ ceph status cluster: id: c47855be-d5ce-4747-813e-e713b2fb043e health: HEALTH_WARN mon b is low on available space
services: mon: 3 daemons, quorum a,b,c (age 15m) mgr: a(active, since 14m), standbys: b osd: 3 osds: 3 up (since 15m), 3 in (since 15m)
data: pools: 1 pools, 1 pgs objects: 2 objects, 577 KiB usage: 81 MiB used, 150 GiB / 150 GiB avail pgs: 1 active+clean
ceph osd status ID HOST USED AVAIL WR OPS WR DATA RD OPS RD DATA STATE 0 ws-k8s-node1 26.9M 49.9G 0 0 0 0 exists,up 1 ws-k8s-node3 26.9M 49.9G 0 0 0 0 exists,up 2 ws-k8s-node2 26.9M 49.9G 0 0 0 0 exists,up
6.安装ceph的dashboard
kubectl get ingress -n rook-ceph NAME CLASS HOSTS ADDRESS PORTS AGE rook-ceph-mgr-dashboard nginx rook-ceph.example.com 192.168.10.133 80, 443 78s
访问看看,我这报了502,可能是因为我刚改了rook-ceph-mgr-dashboard的svc,导致出问题 正常应该不会出
|