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中查看。

相關文章
相關標籤/搜索