容器的歷史,可能比你想象的更為久遠(yuǎn)
人們常說(shuō),IT的腳步日新月異,每天都有新的技術(shù)被創(chuàng)造、應(yīng)用,每天也有舊的技術(shù)被淘汰,逐漸消失在人們的視野。但事實(shí)真的是這樣嗎?也許,這些新技術(shù)并沒(méi)有那么“新”,那些“舊技術(shù)”也只是在等待破繭成蝶的那一天。
舉個(gè)“栗子”,1999年VMware推出了第一個(gè)x86虛擬化產(chǎn)品VMware Virtual Platform并大獲成功,繼而成為當(dāng)今虛擬化市場(chǎng)的領(lǐng)導(dǎo)者。對(duì)于一款產(chǎn)品來(lái)說(shuō),VMware的虛擬化確實(shí)是新的,但對(duì)于虛擬化本身來(lái)說(shuō),VMware虛擬化則是一種繼承和突破,有關(guān)虛擬化的概念與早期產(chǎn)品,可以追溯到1960年代,這中間整整相差了39年。
容器技術(shù)也是一樣,今天人們普遍將Docker視為容器的代名詞,但其實(shí)容器要比Docker古老得多了。
1979年,在Unix V7操作系統(tǒng)的開(kāi)發(fā)中,為隔離出可供軟件進(jìn)行構(gòu)建和測(cè)試的環(huán)境,chroot(change root)系統(tǒng)調(diào)用程序橫空出現(xiàn),這是容器史上第一道乍現(xiàn)的靈光。
接著到2000年,互聯(lián)網(wǎng)開(kāi)始繁榮,納斯達(dá)克綜合指數(shù)站到了5132.52的峰值,在這一年,一家小型的共享環(huán)境托管提供商提出了FreeBSD Jails,以實(shí)現(xiàn)服務(wù)與客戶服務(wù)之間的明確區(qū)分。
FreeBSD Jails允許管理員將FreeBSD計(jì)算機(jī)系統(tǒng)劃分為幾個(gè)獨(dú)立的,較小的系統(tǒng),稱為“Jails”,并能夠?yàn)槊總€(gè)系統(tǒng)和配置分配IP地址,真正意義上實(shí)現(xiàn)了進(jìn)程的沙盒化。從而成為容器發(fā)展史上的一個(gè)重要轉(zhuǎn)折點(diǎn)。
此后,又經(jīng)過(guò)了13年的蟄伏,直到2013年,隨著開(kāi)源Docker項(xiàng)目容器鏡像格式和運(yùn)行時(shí)的橫空出世,容器才真正廣受歡迎。
Docker誕生在云計(jì)算繁榮的背景下,這種使應(yīng)用程序部署更精簡(jiǎn),更方便的方式,恰好符合云時(shí)代人們對(duì)于敏捷和靈活的要求。
Docker鏡像是一種標(biāo)準(zhǔn)化、輕量級(jí)、獨(dú)立、可執(zhí)行的軟件包,其中包含運(yùn)行一項(xiàng)功能所需的一切組件,例如代碼、運(yùn)行時(shí)間庫(kù)、環(huán)境變量以及配置文件。從而避免了依賴運(yùn)行容器的各種服務(wù)器的操作系統(tǒng),實(shí)現(xiàn) “build once,run anywhere”。
容器和Kubernetes
說(shuō)到容器,不少人也把Kubernetes與Docker相提并論。其實(shí)兩者沒(méi)有直接的可比性,根基不同,解決的問(wèn)題也不同。
Kubernetes最初由谷歌開(kāi)發(fā)而來(lái),目前由云原生計(jì)算基金會(huì)(Cloud Native Computing Foundation, CNCF)管理。Kubernetes的目的是為了解決容器不易于批量管理的問(wèn)題,實(shí)現(xiàn)容器集群的自動(dòng)化部署、自動(dòng)擴(kuò)縮容、維護(hù)等功能。
今天,Kubernetes已成為構(gòu)建容器化平臺(tái)體系的默認(rèn)抽象方案,從更大的意義上來(lái)說(shuō),Kuberntes也是容器發(fā)展的重大貢獻(xiàn)者之一。
試想一下,容器(Container)就是集裝箱,本身就是個(gè)大鐵盒子,其實(shí)沒(méi)有太多價(jià)值,單單靠它提高不了社會(huì)協(xié)作的效能。它只有流動(dòng)起來(lái),把貨物從一個(gè)車間運(yùn)到另一個(gè)車間,從一個(gè)國(guó)家運(yùn)送到另一個(gè)國(guó)家,才能極大提高生產(chǎn)力,這種連接才是其價(jià)值所在。
而Kubernetes就是這樣一個(gè)容器編排工具。在既有硬件資源的基礎(chǔ)上,啟動(dòng)容器不需要關(guān)注具體運(yùn)行的節(jié)點(diǎn),各個(gè)容器之間仍能保持通信,信息在容器之間依然可以流動(dòng)。這樣容器技術(shù)便可以付諸商用,整個(gè)軟件的開(kāi)發(fā)交付流程就會(huì)變得高效和顛覆。
在具體操作中,Kubernetes使用主節(jié)點(diǎn)來(lái)調(diào)度和管理容器應(yīng)用的執(zhí)行過(guò)程。主節(jié)點(diǎn)提供環(huán)境來(lái)執(zhí)Kubernetes控制面板,搭建集群,以及安排容器執(zhí)行日程。Kubernetes容器在工作節(jié)點(diǎn)中的pod下執(zhí)行。
一般情況下,每個(gè)pod運(yùn)行一個(gè)容器實(shí)例,或者少數(shù)選定的實(shí)例——這些少數(shù)實(shí)例共享著需要共同執(zhí)行的資源。一個(gè)Kubernetes pod包含操作系統(tǒng)和運(yùn)行時(shí)間環(huán)境,該環(huán)境使容器應(yīng)用能夠運(yùn)行。容器網(wǎng)絡(luò)由Kubernetes控制面板、主節(jié)點(diǎn)和工作節(jié)點(diǎn)配置和管理,旨在提供容器應(yīng)用所需的IP連接。
容器離不開(kāi)編排
容器也離不開(kāi)IT基礎(chǔ)架構(gòu)
正如容器在Kubernetes的推動(dòng)下得到了極大發(fā)展,一個(gè)位于底層的IT基礎(chǔ)架構(gòu)如果對(duì)于容器有很好的支持,也必將為開(kāi)發(fā)人員帶來(lái)事半功倍的效果。
去年,VMware發(fā)布的全新解決方案——VMware Tanzu和VMware Cloud Foundation 4,通過(guò)將容器與虛擬機(jī)統(tǒng)一為一體,用戶可以在vSphere7.0下大規(guī)模地并行運(yùn)行Kubernetes服務(wù)和虛擬化應(yīng)用,從而為應(yīng)用的開(kāi)發(fā)和運(yùn)維帶來(lái)極大便利。
而作為市面上唯一全面集成VMware、預(yù)先配置VMware軟件的超融合一體機(jī),VxRail也已同步升級(jí)到7.0版本,通過(guò)大幅降低使用Kubernetes和基于Kubernetes的開(kāi)發(fā)者工具的復(fù)雜性,為用戶提供了從單一環(huán)境到Kubernetes的簡(jiǎn)單直接路徑。
*戴爾易安信VxRail采用英特爾®至強(qiáng)®可擴(kuò)展處理器,該處理器可以優(yōu)化工作負(fù)載,可靠性強(qiáng),還有高計(jì)算力、高穩(wěn)定性和高效敏捷性,不僅幫助VxRail輕松滿足既定工作負(fù)載,也在云領(lǐng)域有極大的應(yīng)用潛力。
從此IT管理員可以在熟悉的vSphere客戶端環(huán)境中使用Kubernetes,同時(shí)啟動(dòng)并運(yùn)行所有的關(guān)鍵應(yīng)用程序。企業(yè)在一個(gè)統(tǒng)一平臺(tái)逐步實(shí)現(xiàn)應(yīng)用現(xiàn)代化和新應(yīng)用持續(xù)交付,獲得了更好的云原生體驗(yàn),為業(yè)務(wù)創(chuàng)新賦能。
此外,VxRail也支持獨(dú)立的開(kāi)源Kubernetes。開(kāi)發(fā)人員可選擇下載和配置Kubernetes版本,將節(jié)點(diǎn)作為虛擬機(jī)在vSphere上運(yùn)行。使用獨(dú)立的Kubernetes集群來(lái)運(yùn)行容器,需要手動(dòng)下載、安裝、配置、檢驗(yàn)和管理 Kubernetes軟件。
當(dāng)然,更推薦的還是戴爾科技和VMware 聯(lián)合提供最佳技術(shù)解決方案來(lái)運(yùn)行容器應(yīng)用,用戶能夠更快速地采用云原生技術(shù),并且更進(jìn)一步采用數(shù)字化業(yè)務(wù)項(xiàng)目。VxRail和vSphere已成為在數(shù)據(jù)中心運(yùn)行云原生Kubernetes容器應(yīng)用的優(yōu)選平臺(tái)。
容器or虛擬化?
兩者不是二選一
最后,不得不提的是容器與虛擬化的關(guān)系,不少人把容器當(dāng)成是輕量級(jí)的虛擬化,由此難免與傳統(tǒng)虛擬化技術(shù)進(jìn)行比較。其實(shí),兩者并不等同。
傳統(tǒng)虛擬化是硬件的虛擬化,目標(biāo)是建立一個(gè)完全獨(dú)立的沙箱式操作系統(tǒng)環(huán)境。而容器技術(shù)則純粹只是將應(yīng)用系統(tǒng)相關(guān)的代碼、運(yùn)行時(shí)間庫(kù)、環(huán)境變量以及配置文件打包成隔離的可執(zhí)行沙箱環(huán)境,并沒(méi)有做任何硬件虛擬化。
也就是說(shuō),傳統(tǒng)虛擬化可以很容易地部署一臺(tái)VM,但仍需安裝各種執(zhí)行環(huán)境所需要的程序并設(shè)定正確的環(huán)境參數(shù)才能運(yùn)行應(yīng)用,而容器可以大幅簡(jiǎn)化并自動(dòng)化這些工作。所以容器和虛擬化非但不是競(jìng)爭(zhēng)關(guān)系,而且還是互補(bǔ)而共生的。這也是VMware將兩者合二為一的重要意義。
容器和虛擬化好比是企業(yè)邁向數(shù)字化未來(lái)“左膀右臂”,VMware為開(kāi)發(fā)者掃清了障礙,而VxRail就是那個(gè)堅(jiān)實(shí)底座!
尊敬的讀者
戴爾科技云平臺(tái)線上講堂
開(kāi)課啦
6月2日 14:00
戴爾科技集團(tuán)和VMware專家
在線與大家探討
容器的部署應(yīng)用
如何在VxRail和
VMware上運(yùn)行K8S