Rook(https://rook.io)已经到了0.8版本,并且进入CNCF的孵化器。Rook是一个容器存储框架,已经率先支持Ceph(http://docs.ceph.org.cn/start/intro/)分布式文件系统。
这里介绍其安装过程,其中的Ceph Dashboard也已经可以用了,只不过遇到了一些问题,经过网上四处寻觅,也找到了一个暂时的解决办法。
下载项目文件
执行下面的命令来下载Rook项目源码:
git clone https://github.com/rook/rook/
cd cluster/examples/kubernetes/ceph
其中cluster下面的charts/rook-ceph是支持helm的安装文件,不过最近几个月没有更新,不建议使用。可以使用cluster/examples/kubernetes/ceph下面的安装文件,更新一些。该目录下的文件包括:
cluster.yaml | Ceph集群部署,部署到rook-ceph命名空间。 |
dashboard-external.yaml | 信息面板,提供外部服务的NodePort方式访问。 |
ec-filesystem.yaml | |
ec-storageclass.yaml | |
filesystem.yaml | 文件系统支持。 |
kube-registry.yaml | |
object.yaml | 对象存储。 |
operator.yaml | 基础支持服务,部署到rook-ceph-system命名空间。 |
pool.yaml | 存储池。 |
rgw-external.yaml | 网关。 |
scc.yaml | |
storageclass.yaml | 存储类,提供基于Ceph的PVC动态分配PV支持。 |
工具,可以查看和操作Ceph集群,运行Ceph命令。 |
安装的步骤
- 安装基本服务:
kubectl apply -f operator.yaml
kubectl apply -f cluster.yaml
kubectl apply -f toolbox.yaml
下载,已经可以从Kubernetes Dashboard进入rook-ceph命名空间的名为toolbox-***的pod,点击“执行命令”,即可进入控制台,输入ceph -s可以看到当前Ceph集群的状态。
- 安装存储类支持:
kubectl apply -f storageclass.yaml
将会生成一个rook-ceph-block的存储类,可以到Kubernetes的dashboard中查看。
- 安装 Dashboard:
kubectl apply -f dashboard-external.yaml
然后使用 http://localhost:port的方式访问,其中port可以通过执行下面的命令获取,或者在Kubernetes的dashboard中查看nodePort的值。
kubectl get svc -n rook-ceph
不过,我这里安装后马上可以访问,但刚过一会儿就访问不了。进去删除mgr的pod,重启后又能访问,过一整子又不行了。参考 https://tracker.ceph.com/issues/24395,进入toolbox,运行ceph mgr disable module prometheus后,暂时就可以了。这应该是一个内部的bug,期待以后大拿们能够予以修复。
安装NFS接口
这个是用于支持NFS接口的应用的,在cluster/examples/kubernetes/nfs目录中,在安装方法同上。安装完毕后,就可以使用StorageClass方式来自动创建PVC了。
安装应用软件
在examples里提供了mysql和wordpress的安装文件,运行如下:
kubectl apply -f mysql.yaml
kubectl apply -f wordpress.yaml
执行完毕,就可以访问wordpree这个知名的博客软件创建的站点了,具体url到kubernetes dashboard中查看。
- 参考资源:
-
Kubernetes存储系统-云原生存储Rook部署,https://my.oschina.net/u/2306127/blog/1819630
- 快速部署Rook-Ceph,https://rook.io/docs/rook/v0.8/ceph-quickstart.html
- Rook源码的部署文件,https://github.com/rook/rook/tree/master/cluster/examples/kubernetes/ceph
- Rook项目源码,https://github.com/rook/rook
- Rook官方文档,https://rook.io/docs/rook/v0.8/quickstart-toc.html
- Ceph中文文档,(http://docs.ceph.org.cn/start/intro/)
- Rook-ceph Dashboard的Bug,https://tracker.ceph.com/issues/24395
-
来源:oschina
链接:https://my.oschina.net/u/2306127/blog/2051740