(轉(zhuǎn)載)10分鐘看懂Docker和K8S

本文來(lái)源:鮮棗課堂

2010年弦赖,幾個(gè)搞IT的年輕人恨樟,在美國(guó)舊金山成立了一家名叫“dotCloud”的公司曹动。

這家公司主要提供基于PaaS的云計(jì)算技術(shù)服務(wù)。具體來(lái)說(shuō)渴杆,是和LXC有關(guān)的容器技術(shù)。

LXC宪塔,就是Linux容器虛擬技術(shù)(Linux container)

后來(lái)磁奖,dotCloud公司將自己的容器技術(shù)進(jìn)行了簡(jiǎn)化和標(biāo)準(zhǔn)化,并命名為——Docker某筐。

Docker技術(shù)誕生之后比搭,并沒(méi)有引起行業(yè)的關(guān)注。而dotCloud公司南誊,作為一家小型創(chuàng)業(yè)企業(yè)身诺,在激烈的競(jìng)爭(zhēng)之下,也步履維艱抄囚。

正當(dāng)他們快要堅(jiān)持不下去的時(shí)候霉赡,腦子里蹦出了“開(kāi)源”的想法。

什么是“開(kāi)源”幔托?開(kāi)源穴亏,就是開(kāi)放源代碼。也就是將原來(lái)內(nèi)部保密的程序源代碼開(kāi)放給所有人,然后讓大家一起參與進(jìn)來(lái)嗓化,貢獻(xiàn)代碼和意見(jiàn)锅劝。

Open Source,開(kāi)源

有的軟件是一開(kāi)始就開(kāi)源的蟆湖。也有的軟件故爵,是混不下去,創(chuàng)造者又不想放棄隅津,所以選擇開(kāi)源诬垂。自己養(yǎng)不活,就吃“百家飯”嘛伦仍。

2013年3月结窘,dotCloud公司的創(chuàng)始人之一,Docker之父充蓝,28歲的Solomon?Hykes正式?jīng)Q定隧枫,將Docker項(xiàng)目開(kāi)源。

Solomon?Hykes(今年剛從Docker離職)

不開(kāi)則已谓苟,一開(kāi)驚人官脓。

越來(lái)越多的IT工程師發(fā)現(xiàn)了Docker的優(yōu)點(diǎn),然后蜂擁而至涝焙,加入Docker開(kāi)源社區(qū)卑笨。

Docker的人氣迅速攀升,速度之快仑撞,令人瞠目結(jié)舌赤兴。

開(kāi)源當(dāng)月,Docker 0.1版本發(fā)布隧哮。此后的每一個(gè)月桶良,Docker都會(huì)發(fā)布一個(gè)版本。到2014年6月9日沮翔,Docker 1.0版本正式發(fā)布陨帆。

此時(shí)的Docker,已經(jīng)成為行業(yè)里人氣最火爆的開(kāi)源技術(shù)鉴竭,沒(méi)有之一歧譬。甚至像Google、微軟搏存、Amazon瑰步、VMware這樣的巨頭,都對(duì)它青睞有加璧眠,表示將全力支持缩焦。

Docker火了之后读虏,dotCloud公司干脆把公司名字也改成了Docker Inc.。

Docker和容器技術(shù)為什么會(huì)這么火爆袁滥?說(shuō)白了盖桥,就是因?yàn)樗拜p”。

在容器技術(shù)之前题翻,業(yè)界的網(wǎng)紅是虛擬機(jī)揩徊。虛擬機(jī)技術(shù)的代表,是VMWareOpenStack嵌赠。

相信很多人都用過(guò)虛擬機(jī)塑荒。虛擬機(jī),就是在你的操作系統(tǒng)里面姜挺,裝一個(gè)軟件齿税,然后通過(guò)這個(gè)軟件,再模擬一臺(tái)甚至多臺(tái)“子電腦”出來(lái)炊豪。

虛擬機(jī)凌箕,類似于“子電腦”

在“子電腦”里,你可以和正常電腦一樣運(yùn)行程序词渤,例如開(kāi)QQ牵舱。如果你愿意,你可以變出好幾個(gè)“子電腦”掖肋,里面都開(kāi)上QQ仆葡。“子電腦”和“子電腦”之間志笼,是相互隔離的,互不影響把篓。

虛擬機(jī)屬于虛擬化技術(shù)纫溃。而Docker這樣的容器技術(shù),也是虛擬化技術(shù)韧掩,屬于輕量級(jí)的虛擬化紊浩。

虛擬機(jī)雖然可以隔離出很多“子電腦”,但占用空間更大疗锐,啟動(dòng)更慢坊谁,虛擬機(jī)軟件可能還要花錢(例如VMWare)。

而容器技術(shù)恰好沒(méi)有這些缺點(diǎn)滑臊。它不需要虛擬出整個(gè)操作系統(tǒng)口芍,只需要虛擬一個(gè)小規(guī)模的環(huán)境(類似“沙箱”)。

沙箱

它啟動(dòng)時(shí)間很快雇卷,幾秒鐘就能完成鬓椭。而且颠猴,它對(duì)資源的利用率很高(一臺(tái)主機(jī)可以同時(shí)運(yùn)行幾千個(gè)Docker容器)。此外小染,它占的空間很小翘瓮,虛擬機(jī)一般要幾GB到幾十GB的空間,而容器只需要MB級(jí)甚至KB級(jí)裤翩。

容器和虛擬機(jī)的對(duì)比

正因?yàn)槿绱俗手眩萜骷夹g(shù)受到了熱烈的歡迎和追捧,發(fā)展迅速踊赠。

我們具體來(lái)看看Docker呵扛。

大家需要注意,Docker本身并不是容器臼疫,它是創(chuàng)建容器的工具择份,是應(yīng)用容器引擎。

想要搞懂Docker烫堤,其實(shí)看它的兩句口號(hào)就行荣赶。

第一句,是“Build, Ship and Run”鸽斟。

也就是拔创,“搭建、發(fā)送富蓄、運(yùn)行”剩燥,三板斧。

舉個(gè)例子:

我來(lái)到一片空地立倍,想建個(gè)房子灭红,于是我搬石頭、砍木頭口注、畫圖紙变擒,一頓操作,終于把這個(gè)房子蓋好了寝志。

結(jié)果娇斑,我住了一段時(shí)間,想搬到另一片空地去材部。這時(shí)候毫缆,按以往的辦法,我只能再次搬石頭乐导、砍木頭苦丁、畫圖紙、蓋房子兽叮。

但是芬骄,跑來(lái)一個(gè)老巫婆猾愿,教會(huì)我一種魔法。

這種魔法账阻,可以把我蓋好的房子復(fù)制一份蒂秘,做成“鏡像”,放在我的背包里淘太。

等我到了另一片空地姻僧,就用這個(gè)“鏡像”,復(fù)制一套房子蒲牧,擺在那邊撇贺,拎包入住。

怎么樣冰抢?是不是很神奇松嘶?

所以,Docker的第二句口號(hào)就是:“Build?once挎扰,Run?anywhere(搭建一次翠订,到處能用)”。

Docker技術(shù)的三大核心概念遵倦,分別是:

鏡像(Image)

容器(Container)

倉(cāng)庫(kù)(Repository)

我剛才例子里面尽超,那個(gè)放在包里的“鏡像”,就是Docker鏡像梧躺。而我的背包似谁,就是Docker倉(cāng)庫(kù)。我在空地上掠哥,用魔法造好的房子巩踏,就是一個(gè)Docker容器

說(shuō)白了续搀,這個(gè)Docker鏡像蛀缝,是一個(gè)特殊的文件系統(tǒng)。它除了提供容器運(yùn)行時(shí)所需的程序目代、庫(kù)、資源嗤练、配置等文件外榛了,還包含了一些為運(yùn)行時(shí)準(zhǔn)備的一些配置參數(shù)(例如環(huán)境變量)。鏡像不包含任何動(dòng)態(tài)數(shù)據(jù)煞抬,其內(nèi)容在構(gòu)建之后也不會(huì)被改變霜大。

也就是說(shuō),每次變出房子革答,房子是一樣的战坤,但生活用品之類的曙强,都是不管的。誰(shuí)住誰(shuí)負(fù)責(zé)添置途茫。

每一個(gè)鏡像可以變出一種房子碟嘴。那么,我可以有多個(gè)鏡像呀囊卜!

也就是說(shuō)娜扇,我蓋了一個(gè)歐式別墅,生成了鏡像栅组。另一個(gè)哥們可能蓋了一個(gè)中國(guó)四合院雀瓢,也生成了鏡像。還有哥們玉掸,蓋了一個(gè)非洲茅草屋刃麸,也生成了鏡像。司浪。泊业。

這么一來(lái),我們可以交換鏡像断傲,你用我的脱吱,我用你的,豈不是很爽认罩?

于是乎箱蝠,就變成了一個(gè)大的公共倉(cāng)庫(kù)。

負(fù)責(zé)對(duì)Docker鏡像進(jìn)行管理的垦垂,是Docker Registry服務(wù)(類似倉(cāng)庫(kù)管理員)宦搬。

不是任何人建的任何鏡像都是合法的。萬(wàn)一有人蓋了一個(gè)有問(wèn)題的房子呢劫拗?

所以间校,Docker Registry服務(wù)對(duì)鏡像的管理是非常嚴(yán)格的。

最常使用的Registry公開(kāi)服務(wù)页慷,是官方的Docker Hub憔足,這也是默認(rèn)的Registry,并擁有大量的高質(zhì)量的官方鏡像酒繁。

好了滓彰,說(shuō)完了Docker,我們?cè)侔涯抗廪D(zhuǎn)向K8S州袒。

就在Docker容器技術(shù)被炒得熱火朝天之時(shí)揭绑,大家發(fā)現(xiàn),如果想要將Docker應(yīng)用于具體的業(yè)務(wù)實(shí)現(xiàn)郎哭,是存在困難的——編排他匪、管理和調(diào)度等各個(gè)方面菇存,都不容易。于是邦蜜,人們迫切需要一套管理系統(tǒng)依鸥,對(duì)Docker及容器進(jìn)行更高級(jí)更靈活的管理。

就在這個(gè)時(shí)候畦徘,K8S出現(xiàn)了毕籽。

K8S,就是基于容器的集群管理平臺(tái)井辆,它的全稱关筒,是kubernetes。

Kubernetes這個(gè)單詞來(lái)自于希臘語(yǔ)杯缺,含義是舵手或領(lǐng)航員蒸播。K8S是它的縮寫,用“8”字替代了“ubernete”這8個(gè)字符萍肆。

和Docker不同袍榆,K8S的創(chuàng)造者,是眾人皆知的行業(yè)巨頭——Google塘揣。

然而包雀,K8S并不是一件全新的發(fā)明。它的前身亲铡,是Google自己搗鼓了十多年的Borg系統(tǒng)才写。

K8S是2014年6月由Google公司正式公布出來(lái)并宣布開(kāi)源的。

同年7月奖蔓,微軟赞草、Red Hat、IBM吆鹤、Docker厨疙、CoreOS、Mesosphere和Saltstack等公司疑务,相繼加入K8S沾凄。

之后的一年內(nèi),VMware知允、HP搭独、Intel等公司,也陸續(xù)加入廊镜。

2015年7月,Google正式加入OpenStack基金會(huì)唉俗。與此同時(shí)嗤朴,Kuberentes v1.0正式發(fā)布配椭。

目前,kubernetes的版本已經(jīng)發(fā)展到V1.13雹姊。

K8S的架構(gòu)股缸,略微有一點(diǎn)復(fù)雜,我們簡(jiǎn)單來(lái)看一下吱雏。

一個(gè)K8S系統(tǒng)敦姻,通常稱為一個(gè)K8S集群(Cluster)

這個(gè)集群主要包括兩個(gè)部分:

一個(gè)Master節(jié)點(diǎn)(主節(jié)點(diǎn))

一群Node節(jié)點(diǎn)(計(jì)算節(jié)點(diǎn))

一看就明白:Master節(jié)點(diǎn)主要還是負(fù)責(zé)管理和控制歧杏。Node節(jié)點(diǎn)是工作負(fù)載節(jié)點(diǎn)镰惦,里面是具體的容器。

深入來(lái)看這兩種節(jié)點(diǎn)犬绒。

首先是Master節(jié)點(diǎn)旺入。

Master節(jié)點(diǎn)包括API Server、Scheduler凯力、Controller manager茵瘾、etcd。

API Server是整個(gè)系統(tǒng)的對(duì)外接口咐鹤,供客戶端和其它組件調(diào)用拗秘,相當(dāng)于“營(yíng)業(yè)廳”。

Scheduler負(fù)責(zé)對(duì)集群內(nèi)部的資源進(jìn)行調(diào)度祈惶,相當(dāng)于“調(diào)度室”雕旨。

Controller manager負(fù)責(zé)管理控制器,相當(dāng)于“大總管”行瑞。

然后是Node節(jié)點(diǎn)奸腺。

Node節(jié)點(diǎn)包括Docker、kubelet血久、kube-proxy突照、Fluentd、kube-dns(可選)氧吐,還有就是Pod讹蘑。

Pod是Kubernetes最基本的操作單元。一個(gè)Pod代表著集群中運(yùn)行的一個(gè)進(jìn)程筑舅,它內(nèi)部封裝了一個(gè)或多個(gè)緊密相關(guān)的容器座慰。除了Pod之外,K8S還有一個(gè)Service的概念翠拣,一個(gè)Service可以看作一組提供相同服務(wù)的Pod的對(duì)外訪問(wèn)接口版仔。這段不太好理解,跳過(guò)吧。

Docker蛮粮,不用說(shuō)了益缎,創(chuàng)建容器的。

Kubelet然想,主要負(fù)責(zé)監(jiān)視指派到它所在Node上的Pod莺奔,包括創(chuàng)建、修改变泄、監(jiān)控令哟、刪除等。

Kube-proxy妨蛹,主要負(fù)責(zé)為Pod對(duì)象提供代理屏富。

Fluentd,主要負(fù)責(zé)日志收集滑燃、存儲(chǔ)與查詢役听。

是不是有點(diǎn)懵?唉表窘,三言兩語(yǔ)真的很難講清楚典予,繼續(xù)跳過(guò)吧。

Docker和K8S都介紹完了乐严,然而文章并沒(méi)有結(jié)束瘤袖。

接下來(lái)的部分,是寫給核心網(wǎng)工程師甚至所有通信工程師看的昂验。

從幾十年前的1G捂敌,到現(xiàn)在的4G,再到將來(lái)的5G既琴,移動(dòng)通信發(fā)生了翻天覆地的變化占婉,核心網(wǎng)亦是如此。

但是甫恩,如果你仔細(xì)洞察這些變化逆济,會(huì)發(fā)現(xiàn),所謂的核心網(wǎng)磺箕,其實(shí)本質(zhì)上并沒(méi)有發(fā)生改變奖慌,無(wú)非就是很多的服務(wù)器而已。不同的核心網(wǎng)網(wǎng)元松靡,就是不同的服務(wù)器简僧,不同的計(jì)算節(jié)點(diǎn)。

變化的雕欺,是這些“服務(wù)器”的形態(tài)和接口:形態(tài)岛马,從機(jī)柜單板棉姐,變成機(jī)柜刀片,從機(jī)柜刀片蛛枚,變成X86通用刀片服務(wù)器谅海;接口,從中繼線纜蹦浦,變成網(wǎng)線,從網(wǎng)線撞蜂,變成光纖盲镶。

就算變來(lái)變?nèi)ィ€是服務(wù)器蝌诡,是計(jì)算節(jié)點(diǎn)溉贿,是CPU。

既然是服務(wù)器浦旱,那么就勢(shì)必會(huì)和IT云計(jì)算一樣宇色,走上虛擬化的道路。畢竟颁湖,虛擬化有太多的優(yōu)勢(shì)宣蠕,例如前文所說(shuō)的低成本、高利用率甥捺、充分靈活抢蚀、動(dòng)態(tài)調(diào)度,等等镰禾。

前幾年皿曲,大家以為虛擬機(jī)是核心網(wǎng)的終極形態(tài)。目前看來(lái)吴侦,更有可能是容器化屋休。這幾年經(jīng)常說(shuō)的NFV(網(wǎng)元功能虛擬化),也有可能改口為NFC(網(wǎng)元功能容器化)备韧。

以VoLTE為例劫樟,如果按以前2G/3G的方式,那需要大量的專用設(shè)備盯蝴,分別充當(dāng)EPC和IMS的不同網(wǎng)元毅哗。

VoLTE相關(guān)的網(wǎng)元

而采用容器之后,很可能只需要一臺(tái)服務(wù)器捧挺,創(chuàng)建十幾個(gè)容器虑绵,用不同的容器,來(lái)分別運(yùn)行不同網(wǎng)元的服務(wù)程序闽烙。

這些容器翅睛,隨時(shí)可以創(chuàng)建声搁,也可以隨時(shí)銷毀。還能夠在不停機(jī)的情況下捕发,隨意變大疏旨,隨意變小,隨意變強(qiáng)扎酷,隨意變?nèi)蹰芾裕谛阅芎凸闹g動(dòng)態(tài)平衡。

簡(jiǎn)直完美法挨!

5G時(shí)代谁榜,核心網(wǎng)采用微服務(wù)架構(gòu),也是和容器完美搭配——單體式架構(gòu)(Monolithic)變成微服務(wù)架構(gòu)(Microservices)凡纳,相當(dāng)于一個(gè)全能型變成N個(gè)專能型窃植。每個(gè)專能型,分配給一個(gè)隔離的容器荐糜,賦予了最大程度的靈活巷怜。

精細(xì)化分工

按照這樣的發(fā)展趨勢(shì),在移動(dòng)通信系統(tǒng)中暴氏,除了天線延塑,剩下的部分都有可能虛擬化。核心網(wǎng)是第一個(gè)偏序,但不是最后一個(gè)页畦。虛擬化之后的核心網(wǎng),與其說(shuō)屬于通信研儒,實(shí)際上更應(yīng)該歸為IT豫缨。核心網(wǎng)的功能,只是容器中普通一個(gè)軟件功能而已端朵。

至于說(shuō)在座的各位核心網(wǎng)工程師好芭,恭喜你們,馬上就要成功轉(zhuǎn)型啦冲呢!

來(lái)源:?https://www.cnblogs.com/itbsl/p/10178698.html

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末舍败,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子敬拓,更是在濱河造成了極大的恐慌邻薯,老刑警劉巖,帶你破解...
    沈念sama閱讀 218,755評(píng)論 6 507
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件乘凸,死亡現(xiàn)場(chǎng)離奇詭異厕诡,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)营勤,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 93,305評(píng)論 3 395
  • 文/潘曉璐 我一進(jìn)店門灵嫌,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)壹罚,“玉大人,你說(shuō)我怎么就攤上這事寿羞〔荩” “怎么了?”我有些...
    開(kāi)封第一講書人閱讀 165,138評(píng)論 0 355
  • 文/不壞的土叔 我叫張陵绪穆,是天一觀的道長(zhǎng)辨泳。 經(jīng)常有香客問(wèn)我,道長(zhǎng)玖院,這世上最難降的妖魔是什么漠吻? 我笑而不...
    開(kāi)封第一講書人閱讀 58,791評(píng)論 1 295
  • 正文 為了忘掉前任,我火速辦了婚禮司恳,結(jié)果婚禮上,老公的妹妹穿的比我還像新娘绍傲。我一直安慰自己扔傅,他們只是感情好,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,794評(píng)論 6 392
  • 文/花漫 我一把揭開(kāi)白布烫饼。 她就那樣靜靜地躺著猎塞,像睡著了一般。 火紅的嫁衣襯著肌膚如雪杠纵。 梳的紋絲不亂的頭發(fā)上荠耽,一...
    開(kāi)封第一講書人閱讀 51,631評(píng)論 1 305
  • 那天,我揣著相機(jī)與錄音比藻,去河邊找鬼铝量。 笑死,一個(gè)胖子當(dāng)著我的面吹牛银亲,可吹牛的內(nèi)容都是我干的慢叨。 我是一名探鬼主播,決...
    沈念sama閱讀 40,362評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼务蝠,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼拍谐!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起馏段,我...
    開(kāi)封第一講書人閱讀 39,264評(píng)論 0 276
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤轩拨,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后院喜,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體亡蓉,經(jīng)...
    沈念sama閱讀 45,724評(píng)論 1 315
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,900評(píng)論 3 336
  • 正文 我和宋清朗相戀三年够坐,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了寸宵。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片崖面。...
    茶點(diǎn)故事閱讀 40,040評(píng)論 1 350
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖梯影,靈堂內(nèi)的尸體忽然破棺而出巫员,到底是詐尸還是另有隱情,我是刑警寧澤甲棍,帶...
    沈念sama閱讀 35,742評(píng)論 5 346
  • 正文 年R本政府宣布简识,位于F島的核電站,受9級(jí)特大地震影響感猛,放射性物質(zhì)發(fā)生泄漏七扰。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,364評(píng)論 3 330
  • 文/蒙蒙 一陪白、第九天 我趴在偏房一處隱蔽的房頂上張望颈走。 院中可真熱鬧,春花似錦咱士、人聲如沸立由。這莊子的主人今日做“春日...
    開(kāi)封第一講書人閱讀 31,944評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)锐膜。三九已至,卻和暖如春弛房,著一層夾襖步出監(jiān)牢的瞬間道盏,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書人閱讀 33,060評(píng)論 1 270
  • 我被黑心中介騙來(lái)泰國(guó)打工文捶, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留荷逞,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 48,247評(píng)論 3 371
  • 正文 我出身青樓拄轻,卻偏偏與公主長(zhǎng)得像颅围,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子恨搓,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,979評(píng)論 2 355

推薦閱讀更多精彩內(nèi)容