怎麼輸出本地儲存內容 可面向生產的容器雲原生儲存

2021-10-12 05:35:48 字數 2116 閱讀 5581

在ocp上使用靜態的pvc始終有點麻煩。很多時候是需要首先先把pv建立好在那備著,有時候pvc和pv的bound還可能出點問題。如果外接儲存的san,那勢必還要把它轉化為共享檔案系統才能給pod用,如nfs。

ceph14開始,訪問ceph必須要有csi driver,直接用ocp對接,也需要做額外的配置。

因此容器原生儲存還是很必要的。

紅帽的分布式儲存是ceph。ceph紅帽全稱是red hat ceph storage,簡稱rhcs。紅帽的容器原生儲存是openshift container storage,簡稱ocs。

ocs本質上 = ceph + rook

rook(是乙個開源專案,它使ceph部署、引導、配置、**、擴充套件、公升級、遷移、災難恢復、監視和資源管理自動化。operator將啟動和監視ceph監視器容器,提供rados儲存的ceph osd守護程式,以及啟動和管理其他ceph守護程式。通過初始化pod和執行服務所需的其他工件來管理池,物件儲存(s3 / swift)和檔案系統的crd。

我們檢視rook的官網,可以看到其定義就是為k8s雲原生儲存:

檢視rook專案的頂級貢獻者,一共有5個:

rook的功能:

rook可以提供的儲存:

rook ceph 有如下組成部分:

ocs的架構圖如下:

在此前,ocs只能是內建模式,也是就說,要把ocs裝在ocp上,利用ocp 的worker node的本地儲存空間做儲存空間。這種模式部署、使用都很方便,我做過測試。唯一的問題是:儲存無法和ocp解耦。

即將發布ocs 4.5,支援外部的儲存模式。也就是說,通過ocp上安裝的ocs operator,可以對接在外部物理機上安裝的ceph。然後以ocp中的rook方式,管理外部物理機上的ceph,實現ocp和儲存的解耦。

我們在ocp上部署ocs operator後,可以選擇連線外部的cluster:然後提示使用乙個py指令碼。

我們將這個指令碼在外置的ceph的mon的節點上執行:

將指令碼的輸出內容粘接到ocs連線外部儲存的位置:

然後我們看到,在ocp中,會自動建立csi的pod

檢視外部儲存:

檢視自動建立的storageclass:

使用自動建立的storageclass建立pvc:

登入到ceph上,vol會自動建立:

使用rook方式去管理外接ceph,能夠享受到不少ocs的好處。例如:pvc

的動態擴容。

在下圖中,利用cephfs的sc建立pvc:

建立完後,可以對pvc進行擴容:

Web 本地儲存和Vue本地儲存例項

資料的設定和讀取比較方便。容量較大,sessionstorage大約為5mb,localstorage大約為20mb。只能儲存字串,若想要儲存json物件,則可以使用window.json.stringify 或者parse 進行序列化和反序列化編碼 sessionstorage的儲存週期只有一次會...

android 本地儲存

android的本地儲存分為以下幾種 來自官方 shared preferences 儲存鍵值對 internal storage 私有資料到記憶體 external storage 公共資料 外部儲存 sqlite databases 資料庫儲存 network connection 網路儲存 s...

localStorage 本地儲存

1 localstorage和sessionstorage一樣都是用來儲存客戶端臨時資訊的物件。2 他們均只能儲存字串型別的物件 雖然規範中可以儲存其他原生型別的物件,但是目前為止沒有瀏覽器對其進行實現 3 localstorage生命週期是永久,這意味著除非使用者顯示在瀏覽器提供的ui上清除loc...