站長資訊網
        最全最豐富的資訊網站

        k8s與docker的區別是什么?

        區別:k8s是一個開源的容器集群管理系統,可以實現容器集群的自動化部署、自動擴縮容、維護等功能;Docker是一個開源的應用容器引擎,開發者可以打包他們的應用及依賴到一個可移植的容器中,發布到流行的Linux機器上,也可實現虛擬化。

        k8s與docker的區別是什么?

        (推薦教程:docker教程)

        Docker和k8s的區別與介紹

        2010年,幾個搞IT的年輕人,在美國舊金山成立了一家名叫“dotCloud”的公司。

        k8s與docker的區別是什么?

        這家公司主要提供基于PaaS的云計算技術服務。具體來說,是和LXC有關的容器技術。

        k8s與docker的區別是什么?

        LXC,就是Linux容器虛擬技術(Linux container)

        后來,dotCloud公司將自己的容器技術進行了簡化和標準化,并命名為——Docker。

        k8s與docker的區別是什么?

        Docker技術誕生之后,并沒有引起行業的關注。而dotCloud公司,作為一家小型創業企業,在激烈的競爭之下,也步履維艱。

        正當他們快要堅持不下去的時候,腦子里蹦出了“開源”的想法。

        什么是“開源”?開源,就是開放源代碼。也就是將原來內部保密的程序源代碼開放給所有人,然后讓大家一起參與進來,貢獻代碼和意見。

        k8s與docker的區別是什么?

        Open Source,開源

        有的軟件是一開始就開源的。也有的軟件,是混不下去,創造者又不想放棄,所以選擇開源。自己養不活,就吃“百家飯”嘛。

        2013年3月,dotCloud公司的創始人之一,Docker之父,28歲的Solomon?Hykes正式決定,將Docker項目開源。

        k8s與docker的區別是什么?

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

        不開則已,一開驚人。

        越來越多的IT工程師發現了Docker的優點,然后蜂擁而至,加入Docker開源社區。

        Docker的人氣迅速攀升,速度之快,令人瞠目結舌。

        開源當月,Docker 0.1版本發布。此后的每一個月,Docker都會發布一個版本。到2014年6月9日,Docker 1.0版本正式發布。

        此時的Docker,已經成為行業里人氣最火爆的開源技術,沒有之一。甚至像Google、微軟、Amazon、VMware這樣的巨頭,都對它青睞有加,表示將全力支持。

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

        Docker和容器技術為什么會這么火爆?說白了,就是因為它“輕”。

        在容器技術之前,業界的網紅是虛擬機。虛擬機技術的代表,是VMWareOpenStack

        k8s與docker的區別是什么?

        相信很多人都用過虛擬機。虛擬機,就是在你的操作系統里面,裝一個軟件,然后通過這個軟件,再模擬一臺甚至多臺“子電腦”出來。

        k8s與docker的區別是什么?

        虛擬機,類似于“子電腦”

        在“子電腦”里,你可以和正常電腦一樣運行程序,例如開QQ。如果你愿意,你可以變出好幾個“子電腦”,里面都開上QQ。“子電腦”和“子電腦”之間,是相互隔離的,互不影響。

        虛擬機屬于虛擬化技術。而Docker這樣的容器技術,也是虛擬化技術,屬于輕量級的虛擬化

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

        而容器技術恰好沒有這些缺點。它不需要虛擬出整個操作系統,只需要虛擬一個小規模的環境(類似“沙箱”)。

        k8s與docker的區別是什么?

        沙箱

        它啟動時間很快,幾秒鐘就能完成。而且,它對資源的利用率很高(一臺主機可以同時運行幾千個Docker容器)。此外,它占的空間很小,虛擬機一般要幾GB到幾十GB的空間,而容器只需要MB級甚至KB級。

        k8s與docker的區別是什么?

        容器和虛擬機的對比

        正因為如此,容器技術受到了熱烈的歡迎和追捧,發展迅速。

        我們具體來看看Docker。

        大家需要注意,Docker本身并不是容器,它是創建容器的工具,是應用容器引擎。

        想要搞懂Docker,其實看它的兩句口號就行。

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

        k8s與docker的區別是什么?

        也就是,“搭建、發送、運行”,三板斧。

        舉個例子:

        我來到一片空地,想建個房子,于是我搬石頭、砍木頭、畫圖紙,一頓操作,終于把這個房子蓋好了。

        k8s與docker的區別是什么?

        結果,我住了一段時間,想搬到另一片空地去。這時候,按以往的辦法,我只能再次搬石頭、砍木頭、畫圖紙、蓋房子。

        但是,跑來一個老巫婆,教會我一種魔法。

        這種魔法,可以把我蓋好的房子復制一份,做成“鏡像”,放在我的背包里。

        k8s與docker的區別是什么?

        等我到了另一片空地,就用這個“鏡像”,復制一套房子,擺在那邊,拎包入住。

        k8s與docker的區別是什么?

        怎么樣?是不是很神奇?

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

        Docker技術的三大核心概念,分別是:

        • 鏡像(Image)
        • 容器(Container)
        • 倉庫(Repository)

        我剛才例子里面,那個放在包里的“鏡像”,就是Docker鏡像。而我的背包,就是Docker倉庫。我在空地上,用魔法造好的房子,就是一個Docker容器

        說白了,這個Docker鏡像,是一個特殊的文件系統。它除了提供容器運行時所需的程序、庫、資源、配置等文件外,還包含了一些為運行時準備的一些配置參數(例如環境變量)。鏡像不包含任何動態數據,其內容在構建之后也不會被改變。

        也就是說,每次變出房子,房子是一樣的,但生活用品之類的,都是不管的。誰住誰負責添置。

        每一個鏡像可以變出一種房子。那么,我可以有多個鏡像呀!

        也就是說,我蓋了一個歐式別墅,生成了鏡像。另一個哥們可能蓋了一個中國四合院,也生成了鏡像。還有哥們,蓋了一個非洲茅草屋,也生成了鏡像。。。

        這么一來,我們可以交換鏡像,你用我的,我用你的,豈不是很爽?

        k8s與docker的區別是什么?

        于是乎,就變成了一個大的公共倉庫。

        負責對Docker鏡像進行管理的,是Docker Registry服務(類似倉庫管理員)。

        不是任何人建的任何鏡像都是合法的。萬一有人蓋了一個有問題的房子呢?

        所以,Docker Registry服務對鏡像的管理是非常嚴格的。

        最常使用的Registry公開服務,是官方的Docker Hub,這也是默認的Registry,并擁有大量的高質量的官方鏡像。

        好了,說完了Docker,我們再把目光轉向K8S。

        就在Docker容器技術被炒得熱火朝天之時,大家發現,如果想要將Docker應用于具體的業務實現,是存在困難的——編排、管理和調度等各個方面,都不容易。于是,人們迫切需要一套管理系統,對Docker及容器進行更高級更靈活的管理。

        就在這個時候,K8S出現了。

        K8S,就是基于容器的集群管理平臺,它的全稱,是kubernetes。

        k8s與docker的區別是什么?

        Kubernetes這個單詞來自于希臘語,含義是舵手或領航員。K8S是它的縮寫,用“8”字替代了“ubernete”這8個字符。

        和Docker不同,K8S的創造者,是眾人皆知的行業巨頭——Google

        然而,K8S并不是一件全新的發明。它的前身,是Google自己搗鼓了十多年的Borg系統

        K8S是2014年6月由Google公司正式公布出來并宣布開源的。

        同年7月,微軟、Red Hat、IBM、Docker、CoreOS、Mesosphere和Saltstack等公司,相繼加入K8S。

        之后的一年內,VMware、HP、Intel等公司,也陸續加入。

        2015年7月,Google正式加入OpenStack基金會。與此同時,Kuberentes v1.0正式發布。

        目前,kubernetes的版本已經發展到V1.13。

        K8S的架構,略微有一點復雜,我們簡單來看一下。

        一個K8S系統,通常稱為一個K8S集群(Cluster)

        這個集群主要包括兩個部分:

        • 一個Master節點(主節點)
        • 一群Node節點(計算節點)

        k8s與docker的區別是什么?

        一看就明白:Master節點主要還是負責管理和控制。Node節點是工作負載節點,里面是具體的容器。

        深入來看這兩種節點。

        首先是Master節點。

        k8s與docker的區別是什么?

        Master節點包括API Server、Scheduler、Controller manager、etcd。

        API Server是整個系統的對外接口,供客戶端和其它組件調用,相當于“營業廳”。

        Scheduler負責對集群內部的資源進行調度,相當于“調度室”。

        Controller manager負責管理控制器,相當于“大總管”。

        然后是Node節點

        k8s與docker的區別是什么?

        Node節點包括Docker、kubelet、kube-proxy、Fluentd、kube-dns(可選),還有就是Pod

        Pod是Kubernetes最基本的操作單元。一個Pod代表著集群中運行的一個進程,它內部封裝了一個或多個緊密相關的容器。除了Pod之外,K8S還有一個Service的概念,一個Service可以看作一組提供相同服務的Pod的對外訪問接口。這段不太好理解,跳過吧。

        Docker,不用說了,創建容器的。

        Kubelet,主要負責監視指派到它所在Node上的Pod,包括創建、修改、監控、刪除等。

        Kube-proxy,主要負責為Pod對象提供代理。

        Fluentd,主要負責日志收集、存儲與查詢。

        是不是有點懵?唉,三言兩語真的很難講清楚,繼續跳過吧。

        Docker和K8S都介紹完了,然而文章并沒有結束。

        接下來的部分,是寫給核心網工程師甚至所有通信工程師看的

        從幾十年前的1G,到現在的4G,再到將來的5G,移動通信發生了翻天覆地的變化,核心網亦是如此。

        但是,如果你仔細洞察這些變化,會發現,所謂的核心網,其實本質上并沒有發生改變,無非就是很多的服務器而已。不同的核心網網元,就是不同的服務器,不同的計算節點。

        變化的,是這些“服務器”的形態和接口:形態,從機柜單板,變成機柜刀片,從機柜刀片,變成X86通用刀片服務器;接口,從中繼線纜,變成網線,從網線,變成光纖。

        就算變來變去,還是服務器,是計算節點,是CPU。

        既然是服務器,那么就勢必會和IT云計算一樣,走上虛擬化的道路。畢竟,虛擬化有太多的優勢,例如前文所說的低成本、高利用率、充分靈活、動態調度,等等。

        前幾年,大家以為虛擬機是核心網的終極形態。目前看來,更有可能是容器化。這幾年經常說的NFV(網元功能虛擬化),也有可能改口為NFC(網元功能容器化)。

        以VoLTE為例,如果按以前2G/3G的方式,那需要大量的專用設備,分別充當EPC和IMS的不同網元。

        k8s與docker的區別是什么?

        VoLTE相關的網元

        而采用容器之后,很可能只需要一臺服務器,創建十幾個容器,用不同的容器,來分別運行不同網元的服務程序。

        k8s與docker的區別是什么?

        這些容器,隨時可以創建,也可以隨時銷毀。還能夠在不停機的情況下,隨意變大,隨意變小,隨意變強,隨意變弱,在性能和功耗之間動態平衡。

        簡直完美!

        5G時代,核心網采用微服務架構,也是和容器完美搭配——單體式架構(Monolithic)變成微服務架構(Microservices),相當于一個全能型變成N個專能型。每個專能型,分配給一個隔離的容器,賦予了最大程度的靈活。

        k8s與docker的區別是什么?

        精細化分工

        按照這樣的發展趨勢,在移動通信系統中,除了天線,剩下的部分都有可能虛擬化。核心網是第一個,但不是最后一個。虛擬化之后的核心網,與其說屬于通信,實際上更應該歸為IT。核心網的功能,只是容器中普通一個軟件功能而已。

        至于說在座的各位核心網工程師,恭喜你們,馬上就要成功轉型啦!

        k8s與docker的區別是什么?

        贊(0)
        分享到: 更多 (0)
        網站地圖   滬ICP備18035694號-2    滬公網安備31011702889846號
        主站蜘蛛池模板: 日韩精品一区二区三区中文字幕 | 亚洲日韩中文在线精品第一| 成人午夜视频精品一区| 久久久精品国产亚洲成人满18免费网站| 91在线视频精品| 亚洲级αV无码毛片久久精品| 国产一区二区三区在线观看精品 | 亚洲国产另类久久久精品小说| 国产香蕉国产精品偷在线| 国产短视频精品一区二区三区| 小辣椒福利视频精品导航| 久热精品人妻视频| 99久久99久久精品国产| 国产精品国产三级专区第1集| 精品深夜AV无码一区二区| 午夜三级国产精品理论三级| 国产综合成人色产三级高清在线精品发布 | 蜜臀精品国产高清在线观看| 56prom精品视频在放免费| 精品视频一区二区三区免费| 国产精品成人A区在线观看| 日韩精品久久久久久免费| 亚洲精品无码乱码成人| 亚洲精品无码专区在线播放| 日本精品一区二区三区四区| 久久久久九国产精品| 久久国产精品视频| 精品欧美小视频在线观看| 国产精品久久久天天影视香蕉 | 无码精品蜜桃一区二区三区WW | 日韩精品一区二区三区色欲AV| 亚洲精品欧美精品日韩精品| 久久精品中文字幕一区| 精品国产不卡一区二区三区 | 97国产视频精品| 99亚洲精品视频| 国产精品麻豆入口| 国产精品自产拍在线18禁| 精品国产91久久久久久久a | 国产亚州精品女人久久久久久| 国产精品高清在线|