Rook 0.8 安装及Dashboard的问题和解决

Rook(https://rook.io)已经到了0.8版本,而且进入CNCF的孵化器。Rook是一个容器存储框架,已经率先支持Ceph(http://docs.ceph.org.cn/start/intro/)分布式文件系统。html

这里介绍其安装过程,其中的Ceph Dashboard也已经能够用了,只不过遇到了一些问题,通过网上四处寻觅,也找到了一个暂时的解决办法。node

下载项目文件

执行下面的命令来下载Rook项目源码:mysql

git clone https://github.com/rook/rook/
cd cluster/examples/kubernetes/ceph

其中cluster下面的charts/rook-ceph是支持helm的安装文件,不过最近几个月没有更新,不建议使用。能够使用cluster/examples/kubernetes/ceph下面的安装文件,更新一些。该目录下的文件包括:git

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支持。

toolbox.yamlgithub

工具,能够查看和操做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集群的状态。sql

  • 安装存储类支持:
kubectl apply -f storageclass.yaml

将会生成一个rook-ceph-block的存储类,能够到Kubernetes的dashboard中查看。app

  • 安装 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了。wordpress

安装应用软件

在examples里提供了mysql和wordpress的安装文件,运行以下:

kubectl apply -f mysql.yaml
kubectl apply -f wordpress.yaml

执行完毕,就能够访问wordpree这个知名的博客软件建立的站点了,具体url到kubernetes dashboard中查看。

相关文章
相关标签/搜索