Rook Toolbox 是 Rook 云原生存储编排器的配套工具镜像,集成了管理、诊断和维护 Rook/Ceph 存储集群所需的全套工具集。其核心用途是简化 Rook 集群的部署验证、日常运维操作、故障排查及性能调优,为管理员提供一站式的集群管理环境。
ceph(集群状态管理)、rados(对象存储操作)、rbd(块存储管理)、cephfs(文件系统管理)、ceph-objectstore-tool(对象网关管理)等,支持 Ceph 集群全生命周期操作。ceph-disk(磁盘管理)、ceph-volume(OSD 部署)、ceph-log(日志分析),支持集群健康检查与故障定位。rookctl:Rook 集群管理命令行工具,支持集群配置、资源查询、运维操作(如创建存储池、扩容 OSD 等)。df(磁盘空间)、mount(挂载管理)、lsblk(块设备列表)、nc/telnet(网络测试),用于排查存储挂载与网络连通性。kubectl 及 kubectl-rook-ceph 插件,支持直接在 Toolbox 中管理 K8s 集群内的 Rook 资源(需配置 K8s 集群访问权限)。ceph -s 查看集群健康状态、PG 分布、OSD 状态。rados mkpool)、调整副本数(ceph osd pool set <pool> size <n>)。ceph perf 采集性能指标(如 IOPS、延迟)。ceph log last 100 查看最近日志,定位 OSD 故障、PG 不一致等问题。ceph osd repair <osd-id> 修复损坏数据,或通过 rbd repair 恢复块设备。telnet <mon-ip> 6789)。ceph.conf)及管理员密钥(client.admin.keyring)。rook/ceph:v1.12.0)。适用于本地开发或独立部署的 Rook 集群,通过 Docker 直接运行 Toolbox 容器。
bashdocker run -it --rm \ --name rook-toolbox \ --net=host # 共享主机网络,确保能访问 Rook/Ceph 集群节点 \ -v /path/to/ceph-config:/etc/ceph \ # 挂载 Ceph 配置目录(含 ceph.conf 和密钥) \ -v /path/to/rook-data:/var/lib/rook \ # 挂载 Rook 数据目录(可选,用于持久化元数据) \ -e ROOK_CLUSTER_NAMESPACE=my-rook-cluster \ # 指定 Rook 集群命名空间(若集群非默认命名空间) \ rook/ceph:v1.12.0 toolbox # 镜像版本需与 Rook 集群匹配
bash# 示例:检查集群状态 docker run --rm \ -v /path/to/ceph-config:/etc/ceph \ rook/ceph:v1.12.0 toolbox ceph -s
Rook 集群通常部署在 Kubernetes 中,Toolbox 需以 Pod 形式运行,通过 K8s 网络访问集群资源。
创建长期运行的 Toolbox Pod,用于日常运维:
yamlapiVersion: apps/v1 kind: Deployment metadata: name: rook-ceph-toolbox namespace: rook-ceph # Rook 集群命名空间 spec: replicas: 1 selector: matchLabels: app: rook-ceph-toolbox template: metadata: labels: app: rook-ceph-toolbox spec: containers: - name: rook-ceph-toolbox image: rook/ceph:v1.12.0 # 镜像版本需与 Rook 集群匹配 command: ["sleep", "365d"] # 保持 Pod 长期运行 volumeMounts: - name: ceph-config # 挂载 Ceph 配置(含密钥和 mon 地址) mountPath: /etc/ceph - name: rook-data # 挂载 Rook 数据目录(集群元数据) mountPath: /var/lib/rook volumes: - name: ceph-config secret: # 从 K8s Secret 获取 Ceph 配置(Rook 自动创建) secretName: rook-ceph-mon - name: rook-data hostPath: # 挂载主机 Rook 数据目录(需确保节点路径一致) path: /var/lib/rook type: DirectoryOrCreate
通过 kubectl exec 进入 Toolbox Pod 执行操作:
bash# 进入 Toolbox 终端 kubectl -n rook-ceph exec -it deploy/rook-ceph-toolbox -- bash # 检查集群状态 ceph -s # 查看存储池列表 rados lspools # 查看 OSD 状态 ceph osd tree # 查看 PG 分布 ceph pg stat
对集群执行临时诊断(如日志采集、健康检查),可通过 K8s Job 运行:
yamlapiVersion: batch/v1 kind: Job metadata: name: rook-ceph-diagnose namespace: rook-ceph spec: template: spec: containers: - name: diagnose image: rook/ceph:v1.12.0 command: ["/bin/bash", "-c"] args: - ceph -s; # 集群状态 rados df; # 存储池容量 ceph health detail; # 健康详情 volumeMounts: - name: ceph-config mountPath: /etc/ceph volumes: - name: ceph-config secret: secretName: rook-ceph-mon restartPolicy: Never backoffLimit: 0 # 失败后不重试
查看诊断结果:
bashkubectl -n rook-ceph logs job/rook-ceph-diagnose
| 变量名 | 描述 | 默认值 |
|---|---|---|
ROOK_CLUSTER_NAMESPACE | K8s 环境中指定 Rook 集群命名空间,Toolbox 通过该命名空间定位集群资源 | rook-ceph |
CEPH_CONF_PATH | Ceph 配置文件路径,Toolbox 从该路径加载 ceph.conf | /etc/ceph/ceph.conf |
ROOK_DEBUG | 启用调试模式,输出 Toolbox 内部操作日志(如资源查询、命令执行过程) | false |
| 挂载路径 | 用途 | 必要性 |
|---|---|---|
/etc/ceph | 存放 Ceph 配置文件(ceph.conf)和密钥(client.admin.keyring),Toolbox 需通过此目录访问集群 | 必要 |
/var/lib/rook | Rook 集群元数据目录(含集群 ID、节点配置等),用于获取集群部署信息 | 推荐 |
/dev | 设备目录,故障排查时需直接访问主机存储设备(如 OSD 磁盘) | 故障排查时需 |
bashdocker run -it --rm \ --name rook-toolbox \ -e ROOK_CLUSTER_NAMESPACE=my-rook-cluster \ # 自定义集群命名空间 -v /local/path/to/ceph:/etc/ceph \ # 挂载本地 Ceph 配置(含密钥) -v /local/path/to/rook:/var/lib/rook \ # 挂载本地 Rook 数据目录 --net=host \ # 共享主机网络,确保能访问 Rook 集群节点(Mon/OSD IP) rook/ceph:v1.12.0 toolbox
见上文“部署 Toolbox(Deployment 方式)”配置示例,部署后可通过 kubectl exec 持续执行运维操作。
见上文“一次性诊断任务(Job 方式)”配置示例,适用于临时健康检查或日志采集场景。
来自真实用户的反馈,见证轩辕镜像的优质服务
免费版仅支持 Docker Hub 加速,不承诺可用性和速度;专业版支持更多镜像源,保证可用性和稳定速度,提供优先客服响应。
免费版仅支持 docker.io;专业版支持 docker.io、gcr.io、ghcr.io、registry.k8s.io、nvcr.io、quay.io、mcr.microsoft.com、docker.elastic.co 等。
当返回 402 Payment Required 错误时,表示流量已耗尽,需要充值流量包以恢复服务。
通常由 Docker 版本过低导致,需要升级到 20.x 或更高版本以支持 V2 协议。
先检查 Docker 版本,版本过低则升级;版本正常则验证镜像信息是否正确。
使用 docker tag 命令为镜像打上新标签,去掉域名前缀,使镜像名称更简洁。
探索更多轩辕镜像的使用方法,找到最适合您系统的配置方式
通过 Docker 登录认证访问私有仓库
在 Linux 系统配置镜像加速服务
在 Docker Desktop 配置镜像加速
Docker Compose 项目配置加速
Kubernetes 集群配置 Containerd
在宝塔面板一键配置镜像加速
Synology 群晖 NAS 配置加速
飞牛 fnOS 系统配置镜像加速
极空间 NAS 系统配置加速服务
爱快 iKuai 路由系统配置加速
绿联 NAS 系统配置镜像加速
QNAP 威联通 NAS 配置加速
Podman 容器引擎配置加速
HPC 科学计算容器配置加速
ghcr、Quay、nvcr 等镜像仓库
无需登录使用专属域名加速
需要其他帮助?请查看我们的 常见问题 或 官方QQ群: 13763429