掃二維碼與項(xiàng)目經(jīng)理溝通
我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流
作者:瀟冷 2021-03-03 09:16:51
云計(jì)算 女朋友仍舊在糾結(jié)“容器化與虛擬機(jī)的區(qū)別”,無(wú)奈,為了女朋友心中能夠更暢快一些,我還是以“趣味”的方式,來(lái)說(shuō)一說(shuō)“容器技術(shù)”的故事。

創(chuàng)新互聯(lián)主要從事成都做網(wǎng)站、成都網(wǎng)站制作、成都外貿(mào)網(wǎng)站建設(shè)、網(wǎng)頁(yè)設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)金沙,十年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專(zhuān)業(yè),歡迎來(lái)電咨詢建站服務(wù):13518219792
面對(duì)一不小心就放大大大招的女朋友,我也只能每天戰(zhàn)戰(zhàn)兢兢、如履薄冰,表面逢迎,心里卻諸多的不快。Anyway,當(dāng)女朋友拋過(guò)來(lái)新的“難題”時(shí),我也只能見(jiàn)招拆招、見(jiàn)題解題,畢竟方法總比困難多。
這不,在經(jīng)歷《為了搞懂“云原生”,女朋友竟敢讓我懸梁刺股?!》之后,女朋友仍舊在糾結(jié)“容器化與虛擬機(jī)的區(qū)別”。無(wú)奈,為了女朋友心中能夠更暢快一些,我還是以“趣味”的方式,來(lái)說(shuō)一說(shuō)“容器技術(shù)”的故事。
docker的誕生與進(jìn)化
大概在2010年,數(shù)名朝氣蓬勃、意氣風(fēng)發(fā)的IT男,想要在云計(jì)算領(lǐng)域指點(diǎn)江山激昂文字,于是在美國(guó)舊金山成立了dotCloud公司,這家公司主要做LXC,這就是Linux?container,emmm,翻譯過(guò)來(lái)就是Linux容器虛擬技術(shù),隸屬于基于PaaS層的云計(jì)算技術(shù)。
Wait,dotCloud降生之后,一直默默耕耘,將自己的容器技術(shù)進(jìn)行簡(jiǎn)化和標(biāo)準(zhǔn)化,并把它叫做“Docker”。與此同時(shí),還一直念叨:我怎么還不出名,我怎么還不紅,我怎么沒(méi)引起關(guān)注。人紅是非多,可我就想是非多一些。就這樣,日復(fù)一日、年復(fù)一年,默默無(wú)聞的dotCloud終于過(guò)不下去了!!!?
新事物的誕生必將經(jīng)歷“升級(jí)打怪”的過(guò)程,dotCloud公司窮得揭不開(kāi)鍋的時(shí)候,dotCloud公司的創(chuàng)始人之一、Docker之父Solomon?Hykes決定Open?Source,揮淚跟戰(zhàn)友說(shuō):我們開(kāi)源吧,只有開(kāi)源才能讓我們的孩子——Docker活下去。
這里插一句嘴,開(kāi)源就是開(kāi)放源代碼,將保密的程序代碼開(kāi)放給所有人,大家一起參與,共享源代碼和意見(jiàn)。
結(jié)果,不開(kāi)則已,一開(kāi)驚人,越來(lái)越多的IT攻城獅發(fā)現(xiàn)Docker的魅力,接踵而至,紛紛加入Docker開(kāi)源社區(qū)。一時(shí)間,人氣暴漲,版本迭代加快,此時(shí)的Docker不可一世,是戲曲界的當(dāng)紅花旦,更是業(yè)內(nèi)公認(rèn)的一哥!
不僅如此,Google、微軟、Amazon、VMware對(duì)Docker鼎力支持,還專(zhuān)門(mén)開(kāi)發(fā)構(gòu)建一種開(kāi)源容器管理系統(tǒng),即后來(lái)的K8s。火了以后,dotCloud在想,公司的名稱(chēng)還沒(méi)Docker出名,干脆把公司名字改成Docker?Inc.。
來(lái)呀,找茬呀?容器技術(shù)與虛擬機(jī)的區(qū)別
最難的部分到了,到底什么是容器技術(shù)呢?
有效地將單個(gè)操作系統(tǒng)的資源劃分到孤立的組中,以便更好地在孤立的組之間平衡有沖突的資源使用需求,這種技術(shù)就是容器技術(shù)。
顧名思義,容器是一個(gè)相對(duì)獨(dú)立的運(yùn)行環(huán)境,有點(diǎn)類(lèi)似虛擬機(jī),但不像虛擬機(jī)那樣徹底,容器并沒(méi)有把宿主機(jī)上的資源全部消耗。容器和虛擬機(jī)最主要的區(qū)別,便是虛擬化層的位置和操作系統(tǒng)資源的使用方式。?
其實(shí),在容器技術(shù)之前,業(yè)界公認(rèn)的當(dāng)紅花旦便是虛擬機(jī),其典型的品牌代表是VMware和OpenStack兩家公司。
虛擬機(jī)是在操作系統(tǒng)里面,裝一款軟件,通過(guò)這個(gè)軟件虛擬出“子電腦”出來(lái)。在這個(gè)“子電腦”里,我們可以運(yùn)行微信、QQ以及其他程序。同樣,我們也可以模擬出更多“子電腦”,這些子電腦就是虛擬機(jī)了,虛擬之間相互隔離,互不影響。
But,容器技術(shù)本質(zhì)上跟虛擬技術(shù)有一定的區(qū)別,虛擬機(jī)使用虛擬機(jī)管理程序(hypervisor)運(yùn)行在物理設(shè)備上,從系統(tǒng)可計(jì)算資源分配虛擬機(jī)實(shí)例。換言之,虛擬機(jī)需要虛擬一個(gè)物理環(huán)境,緊接著構(gòu)建一個(gè)完整的操作系統(tǒng),供應(yīng)用程序運(yùn)行。
對(duì)于容器技術(shù)而言,直接將容器層安裝在主機(jī)操作系統(tǒng)上,直接利用了宿主機(jī)的內(nèi)核,它不需要虛擬整個(gè)操作系統(tǒng),抽象層比虛擬機(jī)更少,啟動(dòng)時(shí)間更短、占用空間更小。
對(duì),幾秒鐘就能啟動(dòng)!
對(duì),占空間僅需MB級(jí)!
這就是容器技術(shù)!
雙建客——深藏功與名的Docker
實(shí)際上,Docker本身并不是容器,而是創(chuàng)建容器的工具,是應(yīng)用容器引擎。不過(guò)要想徹底弄懂Docker,我們先看Docker的雙建客:“Build,?Ship?and?Run”、“Build?once,Run?anywhere”
首先,“Build,?Ship?and?Run”是“搭建、發(fā)送、運(yùn)行”。
為了搞懂它,我先來(lái)舉個(gè)栗子。?
[[384799]]
有一天,我獨(dú)自來(lái)到孤島上,我要在這里開(kāi)啟新的生活,于是我伐木、搬石頭,辛苦過(guò)后,蓋了一座并不完美房子。
住了一段時(shí)間之后,我想搬家了,傳統(tǒng)意義的搬家是搬運(yùn)除了房子以外的物件,比如床單被褥、日用電器等。
按照傳統(tǒng)的想法,我到一個(gè)新地方,重新靠自己的雙手、勤勞建筑屬于自己的小巢。但這次,我徹底懶惰了,有沒(méi)有一種魔法可以將我蓋的房子重新復(fù)制一份,我直接可以拎包入住。
Docker告訴我,可以。它直接將我建好的房子做成“鏡像”,我直接拎包入住。
這就是Docker的另一個(gè)雙建客——“Build?once,Run?anywhere(搭建一次,到處能用)”。
擁有雙建客的Docker如魚(yú)得水、如虎添翼,簡(jiǎn)直輕量許多,方便許多。
直到有一天,人們發(fā)現(xiàn)要想將Docker用于具體業(yè)務(wù)上,其實(shí)并不容易,這就需要編排、管理、調(diào)度等各個(gè)方面的配合。在這個(gè)背景下,人們迫切需要一套管理系統(tǒng),對(duì)Docker和容器進(jìn)行高級(jí)的、靈活的管理。
這個(gè)時(shí)候,基于容器的集群管理平臺(tái)——K8s(Kubernetes)出現(xiàn)了!
K8s的締造,Google的不世之功!
早在十多年前,谷歌開(kāi)始嘗試容器,構(gòu)建了一種集群管理系統(tǒng)——Borg,這是K8s的前身。這個(gè)集群管理系統(tǒng)可以運(yùn)行成千上萬(wàn)個(gè)任務(wù),大大提高了計(jì)算效率。在這個(gè)系統(tǒng)如火如荼發(fā)展的同時(shí),谷歌認(rèn)為運(yùn)行虛擬機(jī)造成處理器利用率機(jī)器低下,于是將注意力放在容器系統(tǒng)Docker上,決定構(gòu)建一種開(kāi)源容器管理系統(tǒng)。?
這個(gè)開(kāi)源容器管理系統(tǒng)就是后來(lái)的Kubernetes,意思是舵手或領(lǐng)航員,簡(jiǎn)稱(chēng)K8s。
2014年Google宣布K8s開(kāi)源;
2014年7月,微軟、Red?Hat、IBM、Docker、CoreOS、Mesosphere、Saltstack等公司,相繼加入K8s。
這不,這就是“容器技術(shù)”!
女朋友:呵呵。

我們?cè)谖⑿派?4小時(shí)期待你的聲音
解答本文疑問(wèn)/技術(shù)咨詢/運(yùn)營(yíng)咨詢/技術(shù)建議/互聯(lián)網(wǎng)交流