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