隨著容器發(fā)展模式逐漸成為主流,容器堆棧本身也在不斷發(fā)展?,F(xiàn)在,企業(yè)看到了容器的價(jià)值,開(kāi)發(fā)和業(yè)務(wù)重點(diǎn)正在從引擎轉(zhuǎn)移到增加更多復(fù)雜的功能,以便更直接地獲得業(yè)務(wù)收益。事實(shí)上,在短短幾年內(nèi),容器已經(jīng)從沒(méi)有管理、技術(shù)精湛和社區(qū)分化的現(xiàn)狀轉(zhuǎn)變成為更加高雅、商用化的IT包,并且完全遵循由跨廠商的開(kāi)放容器生態(tài)。
在最基本的層面上,Linux容器使得企業(yè)能夠?qū)?yīng)用程序域整個(gè)runtime環(huán)境打包并隔離,以運(yùn)行所需的所有文件。這使得在保留全部功能的同時(shí)在環(huán)境(開(kāi)發(fā)、測(cè)試和生產(chǎn)等)之間遷移容器化應(yīng)用變得容易。Linux容器通過(guò)分隔責(zé)任區(qū)域來(lái)幫助減少開(kāi)發(fā)和運(yùn)營(yíng)團(tuán)隊(duì)之間的沖突,開(kāi)發(fā)人員可以專(zhuān)注于他們的應(yīng)用程序,運(yùn)營(yíng)人員則專(zhuān)注于基礎(chǔ)設(shè)施。
而且,因?yàn)長(zhǎng)inux容器是基于開(kāi)源技術(shù)的,所以一旦得以應(yīng)用,組織就可以獲得最新和最大的技術(shù)進(jìn)步。容器技術(shù)(如CRI-O,Kubernetes和Docker)可以幫助簡(jiǎn)化團(tuán)隊(duì),加速和協(xié)調(diào)應(yīng)用程序開(kāi)發(fā)和部署。
事實(shí)上,容器正處于IT不斷發(fā)展的進(jìn)化階段,他們正在成為創(chuàng)新的平臺(tái)。從復(fù)合應(yīng)用程序和微服務(wù)到快速應(yīng)用程序開(kāi)發(fā)以及DevOps的各種排列,企業(yè)IT現(xiàn)在處于另一個(gè)轉(zhuǎn)折點(diǎn):路在何方?
以下是組織和開(kāi)發(fā)人員現(xiàn)在需要了解的關(guān)于容器堆棧以及如何改變的八件事情。
要素
要運(yùn)行容器,需要整個(gè)企業(yè)容器基礎(chǔ)設(shè)施:Linux、runtime、編排。這個(gè)堆棧通常由LDK-Linux、Docker和Kubernetes組成,但隨著容器技術(shù)的發(fā)展,這一趨勢(shì)也在不斷發(fā)展。Docker并不是唯一的通用容器runtime,新的容器似乎每天都在冒出來(lái)。而且,專(zhuān)用的容器runtime正在開(kāi)發(fā)中,它能夠讓用戶(hù)推進(jìn)邊界,如在隔離的虛擬機(jī)中運(yùn)行容器。
Kubernetes為王
容器技術(shù)使得企業(yè)能夠更有效地開(kāi)發(fā)、測(cè)試、部署和維護(hù)應(yīng)用程序,這是當(dāng)今任何組織的競(jìng)爭(zhēng)命脈。但是容器本質(zhì)上有很多移動(dòng)部件,而且大多數(shù)公司都有很多容器。Kubernetes Orchestration,一款用于自動(dòng)化部署,擴(kuò)展和管理容器化應(yīng)用程序的開(kāi)源系統(tǒng),使企業(yè)能夠充分發(fā)揮容器的優(yōu)勢(shì)。除此之外,還有其他一些選擇,最著名的是Mesos和Swarm,但是不得不說(shuō)Kubernetes已經(jīng)成為了行業(yè)的標(biāo)準(zhǔn)。
CRI和CRI-O的角色
去年,Kubernetes項(xiàng)目引入了它的容器運(yùn)行時(shí)接口(CRI),這是一個(gè)插件接口,它提供kubelet,這是一個(gè)用于創(chuàng)建容器和啟動(dòng)容器的集群節(jié)點(diǎn)代理,可以使用不同的OCI兼容容器運(yùn)行時(shí)而不需要重新編譯Kubernetes。在這項(xiàng)工作的基礎(chǔ)上,CRI-O項(xiàng)目(最初稱(chēng)為OCID)為Kubernetes提供了一個(gè)輕量級(jí)的runtime。CRI-O使開(kāi)發(fā)人員能夠直接從Kubernetes運(yùn)行容器; 只要容器圖像符合OCI標(biāo)準(zhǔn),CRI-O就可以運(yùn)行它。這消除了對(duì)獨(dú)立運(yùn)行時(shí)間的需求,降低了復(fù)雜性并提高了可靠性。
容器標(biāo)準(zhǔn)
容器的標(biāo)準(zhǔn)化對(duì)于企業(yè)更廣泛和更有效地采用容器起到推動(dòng)作用,但對(duì)于公司和開(kāi)發(fā)團(tuán)隊(duì)來(lái)說(shuō),能夠?qū)⑦@些標(biāo)準(zhǔn)放在其環(huán)境中做出關(guān)于容器堆棧的正確決策是非常重要的?,F(xiàn)在要關(guān)注的標(biāo)準(zhǔn)組織包括Open Container Initiative(OCI)Image Specification(1.0.1版剛剛發(fā)布); OCI運(yùn)行時(shí)間規(guī)范(也是版本1.0.1); Kubernetes Container Runtime Initiative(CRI);容器網(wǎng)絡(luò)接口(CNI)和Docker容器網(wǎng)絡(luò)模型(CNM)。
各種開(kāi)源項(xiàng)目的角色
Google工程師基于內(nèi)部平臺(tái)開(kāi)發(fā)的Kubernetes可以說(shuō)是目前容器領(lǐng)域最活躍的開(kāi)源項(xiàng)目之一。雖然Kubernetes可能是最明顯的開(kāi)源容器項(xiàng)目之一,但還有其他幾十個(gè)正在推動(dòng)容器棧的項(xiàng)目。例如,Origin是OpenShift的上游項(xiàng)目,它使組織能夠開(kāi)發(fā),部署和管理容器。組織和個(gè)人都可以通過(guò)成為這些社區(qū)中的一個(gè)或多個(gè)社區(qū)的積極貢獻(xiàn)者,更充分地利用容器。
公有云集成
隨著企業(yè)擴(kuò)大其容器堆棧的應(yīng)用,利用公有云受到企業(yè)重視。例如,現(xiàn)在很多AWS服務(wù)都可以通過(guò)內(nèi)置在OpenShift Container Platform中的Service Broker界面訪(fǎng)問(wèn)。這使得AWS用戶(hù)可以更輕松地在OpenShift中配置和部署服務(wù),并為企業(yè)需求提供基于Kubernetes的單一可擴(kuò)展應(yīng)用程序定義。
無(wú)聊是件好事
今天的IT專(zhuān)業(yè)人員不會(huì)考慮Linux內(nèi)核,因?yàn)檫@很無(wú)聊。真正的創(chuàng)新都是在內(nèi)核以上,容器runtime接口也是如此。事實(shí)上,當(dāng)你在考慮容器堆棧時(shí),這個(gè)值已經(jīng)不再是runtime級(jí)別的了。runtime已經(jīng)成為無(wú)聊的工作,這意味著組織不必?fù)?dān)心或投入資源。相反,他們可以把重點(diǎn)放在如何通過(guò)容器生態(tài)系統(tǒng)的發(fā)展以及容器在自己的組織中的使用來(lái)創(chuàng)新。
應(yīng)用程序開(kāi)發(fā)重定義
Linux容器的潛力比重新定義開(kāi)發(fā)乃至操作都要大的多。它們也加速了應(yīng)用程序本身的重新定義,由于容器的原因,我們所知道的整體式應(yīng)用程序堆??梢苑纸獬蓭资畟€(gè)甚至數(shù)百個(gè)細(xì)小的單一用途的應(yīng)用程序,這些應(yīng)用程序組合在一起時(shí),可以執(zhí)行與傳統(tǒng)應(yīng)用程序相同的功能。這使得每個(gè)單獨(dú)的部分都可以被重寫(xiě)、重用和管理,遠(yuǎn)比單一應(yīng)用程序更有效,從而提供了一個(gè)完全由微服務(wù)構(gòu)建的真正的復(fù)合應(yīng)用程序,可以輕松擴(kuò)展以滿(mǎn)足需求。雖然微服務(wù)架構(gòu)并不要求使用容器,但大多數(shù)轉(zhuǎn)向微服務(wù)的組織都會(huì)發(fā)現(xiàn)容器是實(shí)現(xiàn)應(yīng)用程序的最佳方式。
文章編輯:CobiNet(寧波)
本公司專(zhuān)注于電訊配件,銅纜綜合布線(xiàn)系列領(lǐng)域產(chǎn)品研發(fā)生產(chǎn)超五類(lèi),六類(lèi),七類(lèi)線(xiàn),屏蔽模塊,配線(xiàn)架及相關(guān)模塊配件的研發(fā)和生產(chǎn)。
?2016-2019寧波科博通信技術(shù)有限公司版權(quán)所有浙ICP備16026074號(hào)