2022—Kubernetes的發(fā)展爆發(fā)之年
雖然Kubernetes仍然是一項相對年輕的技術(shù),但已迅速被世界各地的IT組織采用。Gartner曾預(yù)測,到2022年,一半的企業(yè)核心服務(wù)將在容器編排環(huán)境中運行。
事實證明情況已經(jīng)如此。根據(jù)谷歌趨勢的數(shù)據(jù),Kubernetes處于2014年開源以來的最受歡迎的程度。本文將解釋為什么Kubernetes很重要,它是如何工作的,以及未來的挑戰(zhàn),主要是圍繞安全性和可擴展性。
1. Kubernetes的歷史和發(fā)展
谷歌于2014年啟動了Kubernetes項目。谷歌很早以前就在其生產(chǎn)環(huán)境中使用了容器,并開發(fā)了一個名為Borg的內(nèi)部容器管理系統(tǒng),這啟發(fā)了Kubernetes。2014年6月,谷歌宣布將Kubernetes開源。2015年3月,谷歌與紅帽、CoreOS等公司合作成立了云原生計算基金會(CNCF)。CNCF是Kubernetes和其他云原生技術(shù)(如Prometheus和Envoy)的傘式組織。
以下是使用Kubernetes的一些普遍好處:
(1)輕松跨集群部署—Kubernetes提供的最大優(yōu)勢之一是跨集群部署。這意味著開發(fā)人員可以在他們想要的任何云提供商上部署他們的應(yīng)用程序,這為他們提供了很大的靈活性,同時也使部署變得簡單。
(2)易于擴展的應(yīng)用程序——Kubernetes提供的另一個巨大優(yōu)勢是其可擴展性。隨著流量的波動,開發(fā)人員可以輕松地按需擴展或縮小,使其成為應(yīng)用程序部署的多功能工具。
(3)高可用性—此功能允許企業(yè)確保所有應(yīng)用程序在不同地區(qū)高度可用。
(4)自我修復(fù)—當(dāng)應(yīng)用程序崩潰或卡在節(jié)點上時,Kubernetes會自動用新的pod替換它們,因此應(yīng)用程序不會停機。
(5)負(fù)載平衡—通過負(fù)載平衡功能,所有容器都可以根據(jù)需要獲得相等的CPU和內(nèi)存資源。因此,它平衡了集群中運行的所有容器的負(fù)載。
Kubernetes自2014年以來一直存在,那么為什么2022年被稱為“Kubernetes年”?
Kubernetes為開發(fā)人員提供了大規(guī)模部署和管理應(yīng)用程序的所有必要工具。這項服務(wù)非常適合希望根據(jù)部署中的容器數(shù)量或節(jié)點數(shù)量進行擴展的團隊。
盡管Microsoft Azure、VMware和Google Cloud已經(jīng)提供該服務(wù)一段時間,但AWS宣布將在2022年增加對Kubernetes的全面支持。
AWS(亞馬遜網(wǎng)絡(luò)服務(wù))已正式確認(rèn),他們將在2022年擴大對Kubernetes的支持。這意味著用戶最終將能夠運行容器,而不必?fù)?dān)心廣泛的底層平臺調(diào)整。
2. 期望在2022年對Kubernetes的改進
隨著Kubernetes正在成為容器編排的標(biāo)準(zhǔn),使用者了解隨著它不斷成熟會發(fā)生什么是很重要的。
以下是我們預(yù)計Kubernetes將改進的一些方面:
(1) 它的網(wǎng)絡(luò)模式將得到改進
Kubernetes目前的網(wǎng)絡(luò)模型,容器網(wǎng)絡(luò)接口(CNI),并不是最靈活或可擴展的選項,還有改進的空間。一種名為服務(wù)網(wǎng)格接口(SMI)的新網(wǎng)絡(luò)模型已經(jīng)被提出,這將是Kubernetes受歡迎的補充。
SMI提供了一個規(guī)范,使不同的服務(wù)網(wǎng)格提供商能夠與Kubernetes集成,并允許開發(fā)人員選擇他們首選的網(wǎng)格,而無需在基礎(chǔ)設(shè)施級別進行更改。
(2) 它將變得更容易使用和管理
Kubernetes在設(shè)計上很復(fù)雜,但有了良好的工具和文檔,這種復(fù)雜性會降低。隨著越來越多的開發(fā)人員開始使用Kubernetes,像Compose這樣的工具可以幫助那些已經(jīng)熟悉Docker Compose的人以最少的工作量立即開始使用。
此外,隨著越來越多的人開始使用Kubernetes,我們將看到更詳細(xì)的文檔,以幫助回答與特定用例相關(guān)的問題。
(3) 有狀態(tài)應(yīng)用程序的復(fù)雜性將更容易管理
Kubernetes是運行不存儲數(shù)據(jù)的無狀態(tài)應(yīng)用程序的絕佳工具。但是,當(dāng)用戶需要存儲數(shù)據(jù)時,需要做更多的工作——使用Kubernetes,必須建立自己的存儲系統(tǒng)。
(4) 開發(fā)人員將能夠更快地使用它構(gòu)建應(yīng)用程序
Kubernetes難以使用的另一個原因是,學(xué)習(xí)和配置它需要很多時間。隨著越來越多的開發(fā)者開始熟悉這個平臺,這種學(xué)習(xí)曲線應(yīng)該會變平,讓新用戶更容易開始。
(5) 安全性將更加穩(wěn)固
Kubernetes因不夠安全而受到批評。該平臺本身具有各種安全功能,但默認(rèn)情況下禁用,需要配置和仔細(xì)管理。這意味著許多Kubernetes集群不是很安全。不久,我們可能會看到該平臺在默認(rèn)情況下變得更加安全。
目前,Kubernetes仍然是一個年輕的項目——仍然受到快速變化和創(chuàng)新的影響。但到2022年,這種情況可能會改變。幾年之后,我們可以進行回顧,并將其與圍繞開源平臺的早期討論進行比較。