ref: https://medium.com/swlh/quick-fix-sharing-persistent-disks-on-multiple-nodes-in-kubernetes-ef5541fd8376
這篇文章是 kubernetes 與 Storage 整合的經驗分享文,該文章包括了下列內容
Cloud Storage, NFS, Kubernetes, PV/PVC.
Kubernetes 內針對這些儲存相關的使用方式有
1. 使用 ephemeral 的儲存設備
ephemeral 只適合暫存資料使用,因為該儲存設備不是持久保存的,這意味 Container 如果重啟,資料就會消失。
2. 使用 Bind Mount 的方式將資料從節點掛載到容器中
就如同過往使用 Docker 時會使用 -v 的方式將同節點中的儲存目錄給掛載到容器中來使用。
基本上有任何永久性儲存的需求都會採用(2) 這個方式來處理,而目前很多 Cloud Provider 都有提供相關的儲存裝置讓你的 VM(k8s Node)
可以輕鬆存取與使用。
舉例來說,AWS 有 EBS, GCP 有 GPD,這類型的 Block Storage Device 本身支援動態掛載與卸載,所以就算 Kubernetes 將目標 Container 重新部署到
不同節點上也不需要擔心資料會不同,因為這些 Storage 可以隨者不同節點動態掛載上去,讓你的 Container 看到相同的資料。
但是以上兩個裝置都有一個限制,就是並不支援同時多人寫入的動作,於 Kubernetes 只能使用 Read/Write 模式。
這意味每個 Storage 同時只能有一個 Container 去進行讀寫操作(but Azure 的服務就沒有這個限制)
作者假設今天有一個服務底層是由三個元件組成,這些元件會需要針對相同一個資料集一起處理。
舉例來說有服務 A,B,C
A: 將資料寫入到儲存系統中
B: 從儲存系統中讀入資料進行二次處理,處理完畢再寫回去儲存系統中
C: 將資料從儲存系統中讀出並且供外部使用
上述情境簡單說就是一個儲存設備,會有三個服務同時想要讀取,一個專心寫,一個同時讀寫,一個專心讀。
這種需求就沒有辦法單純使用 EBS/GPD等裝置來使用,因此作者接下來就會針對如何使用 NFS 這套網路儲存系統來搭建一個符合上述需求的用法。
該解決方案流程如下
1) 透過 EBS/GPD 的方式掛載一個儲存空間到 k8s 節點中
2) 部署一個 NFS Server 的容器到 Kubernetes 中,該 NFS Server 會使用 EBS/GPD 作為其儲存空間的來源
3) NFS Server 透過 service 分享服務
4) 部署 PV/PVC 物件到 Kubernetes 中
5) A,B,C 三種容器透過 PVC 的方式來存取 NFS Server
因為 NFS 本身就是一個可多重讀寫的解決方案,作者透過這種方式讓多個應用程式可以同時讀寫,同時將這些資料保存到 EBS/GPD 的儲存空間中。
不過這種用法帶來的問題可能就是速度問題,從同節點直接存取變成透過網路存取,所以如果本身對於存取有非常高的頻寬需求時,使用這種解決方案也許會遇到
很難解決的瓶頸,畢竟大部分人的 k8s 叢集都是 data/control 兩種資料交雜於底層的網路架構中,沒有辦法將 data plane/control plane 給分開來。
有興趣看作者如何一步一步搞定上述流程的可以參考全文
「gcp storage」的推薦目錄:
- 關於gcp storage 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於gcp storage 在 iKala Cloud Facebook 的最讚貼文
- 關於gcp storage 在 哪裡好吃哪裡去:神秘的水原誠 Facebook 的最佳解答
- 關於gcp storage 在 GitHub Action 上傳GitHub repo 至GCP Storage | Max行銷誌 的評價
- 關於gcp storage 在 what is the difference between BigQuery and Storage on GCP? 的評價
- 關於gcp storage 在 Accessing Data Through Google Cloud Platform - GitHub Pages 的評價
- 關於gcp storage 在 Google Cloud Storage - Bucket (Create, Delete, Upload ... 的評價
gcp storage 在 iKala Cloud Facebook 的最讚貼文
#技術部落格【五大方法,加強您的雲端儲存安全性與資料保護】
對於每項 Google Cloud 產品而言,安全性始終是首要任務。隨著企業儲存需求的增長,我們的安全性和合規性保護也將增長。
雲端儲存安全性的新功能:Cloud Storage V4 簽章支援,適用於 Cloud Storage 服務帳戶的 Hash-based 資訊身份驗證
文章是使用這些新功能並幫助防止資料外洩或駭客入侵的五個建議:http://sc.piee.pw/39h66d
▌閱讀更多 GCP 相關部落格:https://blog.gcp.expert/
#GCP #iKalaCloud #資安 #雲端 #資料 #CloudStorage #GoogleCloud
gcp storage 在 哪裡好吃哪裡去:神秘的水原誠 Facebook 的最佳解答
雖然GCP可以使用自定義影像檔 但網路上的資訊, 或者是GCP官方文件基本都是關於Linux類的 而且製作方式複雜, 還要使用文字命令列那些有的沒的 所以水哥決定分享一下簡單的做法 主要會想要這樣製作的原因很簡單 主要是GCP上提供的影像檔案都是關於Windows Server類 無法使用Win10這種偏向使用者導向的系統 然而Server OS對於一些軟體或者ERP之類的系統並不友善, 或者說限制太多就變得沒那麼好用......所以囉 製作的方式很簡單 安裝Oracle Virtual BOX 準備想要製作的Windows 10 ISO, 這裡使用微軟官方網站MediaCreationTool下載的2020年最新版的Win10 2004版本 對, 就是那個雖然新但好像有點bug的新版 😛 接下來就是 開VirtualBOX虛擬機, 掛入Win10 ISO影像檔, 安裝好系統以及需要的軟體 並輸入你自己的合法授權 接著關閉虛擬機 到管理員那將VirtualBOX的VDI格式轉換成GCP可以吃的格式 官方文件是說需要將影像檔轉成data.raw 但是那個太複雜, 製作出來的影像檔也有點過大..Orz 100G的虛擬磁碟就會有100G的空間= = 而且還要弄成tar格式, 超級浪費時間... GCP官方實在有點瞎 所以水哥建議直接轉換成Hyper-V的VHD或者VM的VMDK就好 如果你原本的虛擬機就是使用這兩種建立的話, 應該就不用轉吧...@@ 但我被Google誤導了, 所以走了彎路 再來到Google GCP的Storage介面 如果沒看到內容 可能是因為專案沒選擇好 建立好值區, 並到裡面上傳做好的VMDK影像檔案 不過建立的時候會問一些問題, 看起來還有分區的問題 除非你知道自己在做甚麼 [ 87 more words ]
https://mshw.info/mshw/?p=23728
gcp storage 在 Accessing Data Through Google Cloud Platform - GitHub Pages 的推薦與評價
All data access will be performed with the gsutil or via the Google Cloud Storage APIs. We recommend gsutil for most use cases. ... <看更多>
gcp storage 在 GitHub Action 上傳GitHub repo 至GCP Storage | Max行銷誌 的推薦與評價
專案夾結構: 步驟一. GCP Storage 設定創建Bucket 首先創建Bucket,未來的網址url 會與此命名有直接關係,例如這邊取名為demo-2021,未來存取資料 ... ... <看更多>