本文將於賽後同步刊登於筆者部落格
有興趣學習更多 Kubernetes/DevOps/Linux 相關的資源的讀者,歡迎前往閱讀
更多相關科技的技術分享,歡迎追蹤 矽谷牛的耕田筆記
對於 Kubernetes 與 Linux Network 有興趣的可以參閱筆者的線上課程
近年來 Kubernetes 的聲勢水漲船高,愈來愈多的產業與團隊都在思考是否要引入 Kubernetes 來取代舊有的部署平台。
導入 Kubernetes 自然而來就會產生兩個需要討論的問題
第一個問題看似簡單,其實非常困難,每個團隊原先的部署流程都是獨一無二且完全不同的,因此導入 Kubernetes 到底能夠帶來什麼樣的改變?
這類型的改變可能有
所以作為團隊的領導者,切記不要跟風,千萬不要因為 kubernetes 是潮流就貿然採用 Kubernetes,我認為一個可以參考的做法是
假設今天決定想要導入 Kubernetes,則接下來談談如何管理與架設團隊的 Kubernetes 叢集
Kubernetes 本身是個開源專案,既然是個開源專案就意味使用者是有機會直接使用其開源版本的內容來架設屬於自己的 Kubernetes 叢集。
但是 Kubernetes 本身架構不算簡單,部署雖然容易但是長期的維護與除錯這部分需要仰賴對於 Kubernetes 的理解與經驗,特別是要與眾多服務進行整合時,整個難度又更高。
因此自然而然也會衍生出系統整合商的生意模式,提供一個更好使用且有技術支援的 Kubernetes 平台。
除此之外,公有雲本身也都有基於 Kubernetes 提供託管 Kubernetes 叢集的服務,譬如 Azure(AKS), GCP(GKE), AWS(EKS) 等,這類型的服務也都是要額外收費的。
我認為 Kubernetes 平台如何部署與架設,可以用下列的方式去分類
不考慮人力的情況下,基本上1(a),2(b)的價格會是相對低的,畢竟你付錢取得機器,後續的架設與管理都要自行處理,其餘三個選項都會有額外的金錢成本來購買相對應的服務。
除了成本外還需要考慮到所謂的技術支援。技術支援本身也是需要錢的,團隊如果本身沒有辦法培養熟悉 Kubernetes 的人才,也許用錢買服務是相對簡單的方式。
這也是採用開源專案的一個痛點,畢竟純開源專案的情況下,遇到問題都需要仰賴團隊的工程師自行想辦法解決。
談了這麼多種變化,本次系列文沒有辦法針對所有可能都去探討與分析,處而代之的則是從開源的角度出發,去探討如果想要自行管理與維護整個 Kubernetes 叢集的話會有什麼選擇。
接下來將使用開源專案 Rancher 作為管理多套 Kubernetes 叢集的平台,Rancher 能夠針對上述的 1(a), 2(a,b) 等三個類別去處理,提供了一個友善且強大的管理介面,讓團隊可以輕鬆的去架設與管理多套 Kubernetes 叢集。