rancher k8s 对接 ceph 存储
本文永久链接:
本文编写的前提是已有正常工作的 ceph 存储服务,并且 Rancher 集群能正常访问 ceph 存储服务,另外这里我们对接的是 Rancher 持久化存储的存储类。
- 随着 UI 翻译的更新,可能有些参数名称与实际名称不相同。
配置 ceph secret
Rancher 连接 ceph 集群需要 ceph secret,在 ceph 服务器中执行以下命令生成 ceph secret:
创建 secret 对象
将 key 替换为实际 ceph 的 secret,然后 import yaml 到 rancher 集群。
UI 配置存储类
- 进入集群视图,在存储菜单下选择存储类
- 设置存储名称,并选择 ceph-rbd 类
- 配置 ceph-rbd 参数,填写对应的 ceph-monitor 地址和管理员 ID(),还有 secret-name 监控:ceph-monitor 地址 管理员 ID:ceph-monitor 登录账户 管理密文命名空间:管理密文导入的命名空间,根据实际导入的命名空间填写
- 点击页面最下方的保存
创建应用并挂载数据卷
方法一:手动创建卷再挂载
- 切换到项目视图,依次点击工作负载/ 数据卷/ 添加卷
- 填写卷配置信息,比如选择对应的存储类和卷的大小
- 点击页面下方的创建
- 创建工作负载,选择对应的存储卷和挂载的目录
- 通过 web 终端登录 Pod 查看挂载情况
- 登录 ceph server 查看
方法二:创建应用的时候同时创建卷
- 创建工作负载,配置数据卷选择添加新的持久化卷(声明)
- 配置相应参数,比如添加卷声明名称,选择对应的存储类和容量大小
- 配置容器的挂载路径
- 启动工作负载并登录容器查看卷挂载
- 登录 ceph server 查看
常见问题
如果出现以上问题,请检查 worker 节点上是否有加载 RBD 模块。执行 lsmod | grep rbd 查看是否有信息返回,如果没有则执行 modprobe rbd 进行模块加载。