部署 Rook

重要提示

本部署是默认所有 k8s-node 节点都部署 CEPH 组件,如果该节点有未分区格式化的磁盘,CEPH 会自动对其做分区并加入 OSD。 如果你要指定具体的机器作为 CEPH OSD 节点,请在 inventory/stage/inventory.ini 里的 ceph 组指定机器。并且这些机器必须同时包含在 kube-node 组内。

组成部分

graph LR; A[inventory/stage/group_vars/all/rook.yml] --> Z(04-rook.yml) B[roles/rook] --> Z(04-rook.yml)

变量配置文件

你可以修改 ceph_object_users.name,这是 RGW 服务的访问账号。具体查看 Object Storage 说明。

开始部署 Rook

$ ansible-playbook -i inventory/stage/inventory.ini 04-rook.yml

脚本工具

默认在第一个 master 节点上,我们会添加 3 个 shell 脚本工具

命令 用途
/usr/local/bin/ceph_toolbox 登入 rook-ceph-tools 容器,可执行 CEPH 相关命令。
/usr/local/bin/ceph_osd_info 查看目前有哪些 OSD
/usr/local/bin/ceph_log_collection 抓取所有 rook 容器的日志,用 gzip 压缩存在 /tmp/rook-log.gz。在需要排查问题的时候用。请使用 gunzip 解压。

给不同的环境自定义模板

如果你需要给环境(例如 stage)做自定义的部署,你可以把 roles/rook/templates 下具体的某些模板文件,拷贝到 inventory/stage/templates/rook 里,然后做出你的修改。部署时会优先使用自定义模板。