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 給分開來。
有興趣看作者如何一步一步搞定上述流程的可以參考全文
同時也有10000部Youtube影片,追蹤數超過2,910的網紅コバにゃんチャンネル,也在其Youtube影片中提到,...
「k8s docker不支援」的推薦目錄:
- 關於k8s docker不支援 在 矽谷牛的耕田筆記 Facebook 的最佳貼文
- 關於k8s docker不支援 在 矽谷牛的耕田筆記 Facebook 的最佳解答
- 關於k8s docker不支援 在 コバにゃんチャンネル Youtube 的精選貼文
- 關於k8s docker不支援 在 大象中醫 Youtube 的最佳貼文
- 關於k8s docker不支援 在 大象中醫 Youtube 的最讚貼文
- 關於k8s docker不支援 在 k8s docker不支援2023-在Facebook/IG/Youtube上的焦點新聞 ... 的評價
- 關於k8s docker不支援 在 k8s docker不支援2023-在Facebook/IG/Youtube上的焦點新聞 ... 的評價
- 關於k8s docker不支援 在 【Docker圖解教學】Kubernetes & Docker的分手肥皂劇入門|介紹 的評價
- 關於k8s docker不支援 在 docker服务在kubernetes(k8s)中跑起来 - Linux工匠 的評價
k8s docker不支援 在 矽谷牛的耕田筆記 Facebook 的最佳解答
#kubernetes1.20 #docker-bye
隨著 kubernetes 1.20 相關消息愈來愈多,目前一個引起廣泛討論的就是 docker support 將被標示為棄用,並且於未來版本的中將正式移除。
到底這個未來的改變對於開發以及維運人員來說,到底會有什麼樣的衝擊,這邊就來跟大家分享一下我的看法
# 開發人員
Q1: 我需要重新學習新的工具嗎? 能不能繼續使用 Docker?
A1: 大部分情況下,你不需要重新學習任何工具,可以繼續使用 Docker 作為本地開發,你產生的 Image 依然可以讓 Kubernetes 去運行。
Q2: Kubernetes 一旦不支援 Docker,那我的 Image 還可以放 Docker Hub 嗎?
A2: 這個沒有問題,因為目前的 Container Registry 都基於 OCI 標準來設計,因此格式相容的情況下, Kubernetes 是可以繼續使用 Docker Hub 上的 image.
Q3: 我的開發環境是 Mac,使用的是 Docker for Desktop 並且用 Docker 內建的 Kubernetes 來開發,請問我會被影響嗎
A3: 這個開發環境比較特別,可以讓 docker build 產生的 image 直接給 kubernetes 使用。一旦 Kubernetes 底下使用別套,也許這條路徑會出問題。 因此這個問題值得關注。
# 維運人員
Q1: 我的公有雲 Kubernetes 服務會被影響嗎?
A1: 三大公有雲目前都有提供除了 Docker 以外的解決方案,可以參閱相關文件來切換。
如果已經使用 containerd/cri-o 這些解決方案的話,基本上什麼都不用做。
但是如果本來使用的是 docker 的話,那就要注意一下你的服務提供者有沒有提供轉移方式。
Q2: 自架 Kubernetes 會被影響嗎
A2: 這取決於你的使用方案,譬如你使用 Rancher 的話,預設是使用 Docker,因此勢必未來一定會有一波轉移問題要處理。
另外如果 Kubernetes 節點是由自己處理的,那要注意需要自行安裝其他的 Container Runtime。單純只有安裝 docker.io 是不夠。
Q3: 維運上會有什麼改變?
A3: 未來若 k8s 不再支持 docker,勢必你將不能於節點上使用 docker 這個指令來觀察相關的運行資訊。這部分可能需要改用 ctr 或是 crictl 等不同的 CLI 工具來觀察。
全新的工具,全新的用法勢必需要學習
Q4: 這樣切換有什麼好處?
A4: 不論是切換到 Containerd 或是 CRI-O ,效能上會提升,與資源消耗會下降,整個容器處理流程也會變得更加精銳
# 結論
1. Kubernetes 不是 Docker 管理平台,是容器管理平台。定義 CRI 標準就是為了支援多種容器技術。
2. Docker 被移除是可以考慮的,未來我認為 CRI-O 都有可能變成預設解決方案,因為其本身的設計就是為了 K8s 而最佳化,同時也與 Kubernetes 版本對齊,
3. 1.20 只是警告,將要退役,並不代表完全移除。但是不久的將來就會正式移除。
4. 如果有時間,就提早進行準備,永遠都不要到最後一刻才決定處理。大量仰賴 Open Source 的情況下,每個專案的開發能量也都很重要,一個不再維護的專案用起來會很令人提心跳膽。
k8s docker不支援 在 コバにゃんチャンネル Youtube 的精選貼文
k8s docker不支援 在 大象中醫 Youtube 的最佳貼文
k8s docker不支援 在 大象中醫 Youtube 的最讚貼文
k8s docker不支援 在 k8s docker不支援2023-在Facebook/IG/Youtube上的焦點新聞 ... 的推薦與評價
k8s docker不支援 2023-在Facebook/IG/Youtube上的焦點新聞和熱門話題資訊,找docker kubernetes教學,docker kubernetes比較,k8s docker不支援在2022年該注意什麼?k8s ... ... <看更多>
k8s docker不支援 在 【Docker圖解教學】Kubernetes & Docker的分手肥皂劇入門|介紹 的推薦與評價
Kubernetes 不再 支援Docker (゚Д゚#)」,讓大家一陣驚慌。 ... Kubernetes CRI 介紹01:07 Kubernetes docker -shim 介紹02:05 不支援Docker 的宣布 ... ... <看更多>
k8s docker不支援 在 k8s docker不支援2023-在Facebook/IG/Youtube上的焦點新聞 ... 的推薦與評價
k8s docker不支援 2023-在Facebook/IG/Youtube上的焦點新聞和熱門話題資訊,找docker kubernetes教學,docker kubernetes比較,k8s docker不支援在2022年該注意什麼?k8s ... ... <看更多>