近日,Kubernetes的存儲協調器Rook發佈了1.0版本,用於那些在容器中使用文件、塊和對象存儲的生產級工作負載。Rook1.0的亮點包括通過操作符爲Ceph Nautilus、EdgeFS和NFS等存儲後端提供支持。例如,當一個pod請求NFS文件系統時,Rook可以不需要任何人工干預就能夠自動提供。
Rook是第一個被雲原生計算基金會(CNCF)接受的存儲類項目,它幫助存儲管理員自動化了日常任務,如分配、配置、災難恢復、部署和升級存儲後端等。通過藉助操作符模式及Kubernetes特性,Rook將分佈式文檔系統變成了可伸縮和自動修復的存儲服務。當管理員使用Rook以及像Ceph這樣的存儲後端時,他們只需要擔心聲明集羣的預期狀態以及負責設置和配置集羣中存儲層的操作符。
到目前位置,Ceph是Rook中唯一的穩定存儲後端;對於其他大多數存儲後端,例如Cassandra、CockroachDB、Minio和NFS等,Rook的支持仍處於alpha狀態。在這個1.0版本中,Rook對EdgeFS的支持已經從alpha過渡到beta,但Rook認爲它已經可以投入到實際生產中使用了。
Rook中的Ceph操作符現在已支持最新的Ceph版本Nautilius。Ceph之前的版本如Luminous和Mimic仍然在支持範圍內,用戶可以選擇在集羣中運行哪個版本。當用戶想要升級到更新的版本時,Rook可以用交錯的方式進行升級,以確保將影響降到最低。Rook還發布了一個將Ceph部署到Kubernetes的簡化方法,刪除了易出錯的由用戶執行的手動配置。當向集羣添加新的節點或設備時,Rook將自動檢測到新設備並會根據需要重新平衡數據。
在版本1.0中,Rook增加了對OpenStack Swift的支持,這是EdgeFS中的一個新的存儲協議,完善了AWS S3的現有支持。此外,Rook現在還支持iSCSI塊存儲,擴展了用戶在使用EdgeFS時讀寫存儲層的選項。EdgeFS操作符帶有GUI,簡化存儲管理,包括了一個生成自定義資源定義(CRD)以提供EdgeFS存儲的嚮導。此外,每個EdgeFS集羣現在都有內置的用於Prometheus監控的指標。爲了提高集羣中的高可用性,用戶可以定義失敗域來平衡讀取副本,從而使數據儘可能持久和可用。
此外,Rook的NFS操作符現在已經支持Kubernetes的動態配置存儲。當一個pod請求NFS文件系統時,Rook將根據需要提供並準備它,而不需要用戶進行任何人工干預。在動態配置存儲之前,用戶必須手動從存儲或雲供應商那裏提供存儲卷,然後在Kubernetes創建持久的卷對象。用戶可以使用StorageClass對象自動完成這個過程,而Rook通過NFS CRD實現了這個支持。
最後,Rook表示,他們正在尋求繼續改進對現有存儲後端的支持,並進一步發展Rook框架來提供工具和資源,將其他存儲系統整合到雲原生環境中。Rook的官方網站已經更新並展示了最初發布後取得的所有進展。你可以在GitHub上找到Rook全部的路線圖,包括未來的改進和里程碑,以激發未來社區的參與。
原文鏈接:
Rook v1.0 Adds Support for Ceph Nautilus, EdgeFS, and NFS Operator