雲原生儲存編排器Rook

尹正杰發表於2024-12-08

                                              作者:尹正傑

版權宣告:原創作品,謝絕轉載!否則將追究法律責任。

目錄
  • 一.Rook概述
    • 1.rook概述
    • 2.Rook和K8S版本對應關係
  • 二.k8s對接Rook
    • 1.部署Rook
    • 2.K8S對接ceph

一.Rook概述

1.rook概述

Rook是一個開源的雲原生儲存編排器,為Ceph儲存提供平臺、框架和支援,以便與雲原生環境進行原生整合。

Ceph是一個分散式儲存系統,提供檔案、塊和物件儲存,部署在大規模生產叢集中。

Rook自動化了Ceph的部署和管理,以提供自我管理、自我擴充套件和自我修復的儲存服務。Rook操作員透過構建Kubernetes資源來部署、配置、配置、擴充套件、升級和監控Ceph來實現這一點。

Ceph運營商於2018年12月在Rook v0.9版本中宣佈穩定,提供了多年的生產儲存平臺。Rook由雲原生計算基金會(CNCF)託管,是一個畢業級專案。

Rook是用Golang實現的,ceph是用C++實現的,其中資料路徑經過高度最佳化。


簡而言之,Rook是一個自管理的分散式儲存編排系統,可以為kubernetes提供便利的儲存解決方案,Rook本身並不提供儲存,而是kubernetes和儲存之間提供適配層,簡化儲存系統的部署和維護工作。目前主要支援儲存系統包括但不限於Ceph,Cassandra,NFS等。

從本質上來講,Rook是一個可以提供ceph叢集管理能力的Operator,Rook使用CRD一個控制器來對Ceph之類的資源進行部署和管理。

官網連結:
	https://rook.io/
	
github地址:
	https://github.com/rook/rook

2.Rook和K8S版本對應關係

如上圖所示,我的K8S 1.23.17最高能使用的Rook版本為v1.13。

參考連結:
	https://rook.io/docs/rook/v1.13/Getting-Started/Prerequisites/prerequisites/

二.k8s對接Rook

1.部署Rook

	1.下載指定版本的Rook
[root@master231 ~]# wget https://github.com/rook/rook/archive/refs/tags/v1.13.10.tar.gz


	2.解壓軟體包
[root@master231 ~]# tar xf v1.13.10.tar.gz 

	3.建立Rook
[root@master231 ~]# cd rook-1.13.10/deploy/examples/
[root@master231 examples]# 
[root@master231 examples]# kubectl apply -f crds.yaml -f common.yaml -f operator.yaml 


	4.部署Ceph
[root@master231 examples]# kubectl apply -f cluster.yaml 


	5.部署Rook Ceph工具
[root@master231 examples]# kubectl apply -f toolbox.yaml 


	6.部署CephUI
[root@master231 examples]# kubectl apply -f dashboard-external-https.yaml 

	7.檢視Pod列表
[root@master231 examples]# kubectl get pods,svc -n rook-ceph 

	8.獲取ceph dashboard的登入密碼
[root@master231 examples]# kubectl -n rook-ceph get secrets rook-ceph-dashboard-password -o yaml



其他部署方式,推薦閱讀:
	https://rook.io/docs/rook/v1.13/Getting-Started/quickstart/#deploy-the-rook-operator

2.K8S對接ceph

參考連結:
	https://www.cnblogs.com/yinzhengjie/p/14351091.html

相關文章