您好,登錄后才能下訂單哦!
不使用Kubernetes發行版的5個理由分別是什么,相信很多沒有經驗的人對此束手無策,為此本文總結了問題出現的原因和解決方法,通過這篇文章希望你能解決這個問題。
目前有不少公司基于 Kubernetes 封裝了自己的商用 Kubernetes 發行版,豐富了開發生態,也提供給開發者更多選擇。
最近有人提出,選擇發行版總體上需要更少的精力和專業知識,但因為種種理由,組織機構其實應該考慮使用原生 Kubernetes。
為了幫助大家理解,先介紹一下文中的一個名詞“Vanilla Kubernetes”,Vanilla Kubernetes 指純凈、原生的 Kubernetes,一般還有 Vanilla JavaScript / Vanilla Linux 等用法,指原生 JavaScript 或 Linux,而不是它們的方言版或發行版本。
Kubernetes 發行版可能無法像組織機構認為的那樣,可以為他們節省時間和金錢。
部署 Kubernetes 有兩種主要方法。一種是在數十種軟件公司開發的 Kubernetes 發行版中選一個;另一種是通過 Kubernetes 官方源代碼,自行安裝 Vanilla Kubernetes,即原生 Kubernetes。
傳統觀點認為,很多時候,使用原生 Kubernetes 不是個好主意。大多數人會說,除非你是 Kubernertse 的開發人員、并想使用核心代碼,否則最好使用發行版,發行版提供完整的安裝和部署服務。這在過去可能是個很好的建議,但現在我們有了更充分的理由使用原生 Kubernetes,而不是發行版。
原生 Kubernetes 指的是 Kubernetes 的原生未修改版本,提供源代碼下載。
之所以稱為原生版,是因為在軟件界有一個長達幾十年的傳統,即打上“Vanilla”原生標簽的軟件被部署到任何應用程序或平臺上時,表示這是沒有修改過的官方版本。類似于,我們還會聽到“原生 Linux” ,這是指使用純粹的、官方的 Linux 內核源代碼構建 Linux 內核,而不像在 Linux 發行版本中,會修改 Linux 內核程序。
與原生 Kubernetes 相對的是 Kubernetes 發行版,例如 Rancher,Red Hat OpenShift;或基于云的 Kubernetes 服務,例如 Amazon EKS。這些發行版采用了核心的開源 Kubernets 代碼,并將其集成到更廣泛的平臺中,而這些平臺通常包含不屬于 Kubernetes 本身的管理、監視和安全工具。這些平臺中的很多還提供安裝程序,簡化 Kubernetes 安裝程序。
Kubernetes 發行版肯定是有優勢的,這里只是想推翻一個傳統觀點:在95%的使用場景中,發行版 Kubernetes 比原生 Kubernetes 更合適。
下面是5個原生版比發行版更適合的原因:
1. Kubernetes 不是 Linux,復雜程度相對較低
對于初學者來說,許多關于原生 Kubernetes 的爭議是:它是一個復雜平臺,從頭開始安裝和構建太難了。
實際上,Linux 比 Kubernetes 復雜得多。要從頭構建一個可用的,基于 Linux 的操作系統,必須構建和安裝數十個,甚至數百個單個組件。
而 Kubernetes 包含大約十二個組件,其中有一些是可選的,你可以在每天的空閑時間,一天安裝一次。但對于 Linux 發行版中的所有實用程序和應用程序,情況并非如此。
還有選擇 Linux 發行版的部分原因是,發行版通過軟件包管理器,更容易使軟件保持最新狀態。同樣,Kubernetes 發行版相較原生版,一個優勢也是更新更輕松,但因為 Kubernetes 中需要更新的組件少了很多,這個優勢就沒那么明顯了。
2. Kubernetes 發行版會鎖定生態系統
如果使用 Kubernetes 發行版,會陷入該發行版周圍的生態系統中。
雖然有時候使用 Kubernetes 發行版也可以在部署過程中使用第三方開源軟件,而且大多數 Kubernetes 發行版的部分組件本身也是開源的。
但是,大多數情況下,發行版比原生版更容易導致對某些核心工具或是依賴項的依賴。例如,如果使用 OpenShift,則會受到各種組件的束縛。如果你運行基于 AWS EK 或 Azure AKS 的基于云的 Kubernetes 發行版,那么你將陷入該云提供商的生態系統之內。
如果安裝了原生 Kubernetes,則將有更多自由選擇要構建部署所需組件。
3. 使用 Kubernetes 發行版是有代價的
成本因素也值得考慮。大多數 Kubernetes 發行版都是由商業公司開發的,要花錢才能大規模運行,雖然有些確實會為小型的部署提供免費套餐。
當然,原生 Kubernetes 也要付出一定的金錢成本。源代碼可能是免費的,但是你的工程師需要花時間去管理維護。長期以來,這種說法一直被當成是使用發行版 Kubernetes 的理由。
但是,當談到 Kubernetes 時,我不確定,原生 Kubernetes 的人力維護成本,是否一定高于發行版的人力成本。因為無論如何部署,即便是使用發行版,你也需要向工程師支付大量資金來維護和監視部署效果。
另外,鑒于上文提到的,Kubernetes 大約只有十二個組件,因此安裝和設置并不會浪費團隊太多時間。從這個意義上說,簡化安裝過程的發行版,并不會降低多少成本。
4. Kubernetes 發行版可能會死亡
Kubernetes 仍然是一個非常年輕的平臺。當今可用的大多數主流 Kubernetes 發行版僅存在了幾年,一些發行版,如 OpenShift 最初甚至不是圍繞 Kubernetes 所構建的平臺。
一些 Kubernetes 發行版,如 Kontena Pharos 已經失敗了。諸如 Kublr 和 Rancher 之類的其他幾家公司則由成立5-10年的創業公司維護。甚至大型企業,如 IBM 的發行版(指 Red Hat OpenShift)或 AWS 的發行版也可能在不知不覺中被殺死。
可以肯定地說,開源 Kubernetes 項目將持續很長時間,而使用發型版則大概率會面臨該版本消失,或被迫遷移到新發行版的風險。
5. 原生 Kubernetes 變得更容易安裝和維護
最后,Kubernetes 已經走了很長一段路,用戶友好度也在提升。
像大多數開源項目一樣,Kubernetes 在初期非常粗糙,它犯過一長串的錯誤,沒有完全文檔化、集成常常只完成了一半的工作。因此,許多團隊選擇發行版來規避問題。
但是今天,這些錯誤都已或多或少被修復了,Kubernetes 的文檔在組織、導航和清晰度方面堪稱典范。
可以肯定的是,有許多理由支撐組織機構選擇發行版,發行版總體上需要更少的精力和專業知識。但發行版也有不足,如需要更高的成本、更少的靈活性、以及長期可用性的保證。
在開始安裝 Kubernetes 發行版之前,請記住,Kubernetes 不是 Linux,記得考慮給原生 Kubernetes 一個機會。
看完上述內容,你們掌握不使用Kubernetes發行版的5個理由分別是什么的方法了嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注億速云行業資訊頻道,感謝各位的閱讀!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。