




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 容器演進(jìn)和技術(shù)基礎(chǔ)介紹 容器是通過一種虛擬化技術(shù)來隔離運(yùn)行在主機(jī)上不同進(jìn)程,從而達(dá)到進(jìn)程之間、進(jìn)程和宿主操作系統(tǒng)相互隔離、互不影響的技術(shù)。這種相互孤立進(jìn)程就叫容器,它有自己的一套文件系統(tǒng)資源和從屬進(jìn)程。容器技術(shù)最早應(yīng)用在Linux操作系統(tǒng),稱為Linux Container(LXC),早期在互聯(lián)網(wǎng)公司開始使用部署分布式應(yīng)用,隨后隨著容器管理器(Docker、Rocket和CloudFoundary Garden)興起,定制容器宿主操作系統(tǒng)(CoreOS、Ubuntu Snappy、Red Hat Atomic)盛行,容器被有效構(gòu)建和管理、并在各行各業(yè)普遍使用和認(rèn)可。 從容器發(fā)展歷程我們看到,
2、輕量級虛擬化產(chǎn)品如OpenVZ、Linux-Vserver和Linux Chroot技術(shù)的出現(xiàn)為操作系統(tǒng)虛擬化和容器資源隔離打下了一定基礎(chǔ),隨著cgroup以及namespace合入Linux內(nèi)核,容器技術(shù)得到Linux內(nèi)核主線的支持。 2008年LXC(Linux Container)開源項目成立,實現(xiàn)用戶態(tài)容器管理工具;容器技術(shù)在業(yè)界的使用越來越廣泛;隨后docker出現(xiàn),針對容器虛擬化管理便有了更有理想的統(tǒng)一平臺。實際上,微軟、谷歌、IBM、紅帽、亞馬遜及其他許多知名科技公司已聯(lián)合起來,組建了開放容器項目(Open Container Initiative),這是在Linux基金會下面成
3、立的組織致力于解決容器運(yùn)行時規(guī)范問題。 容器和虛擬機(jī)都是虛擬化技術(shù),用來解決資源隔離、提高系統(tǒng)資源利用率的一種技術(shù),容器比較輕量(容器空間在MB級別、VM是GB級別),部署密度高,性能損耗小?;谌萜麋R像分層技術(shù)可以實現(xiàn)通用依賴庫和系統(tǒng)特定庫分離,實現(xiàn)應(yīng)用、配置文件和特定庫依賴打包,可以做到了一處編譯、到處運(yùn)行。 容器運(yùn)行效率基本接近于物理機(jī),容器操作(啟動,停止,重啟等)毫秒到秒級,容器的靈活性極大促進(jìn)混合云場景負(fù)載遷移。最重要的一點是,容器共享宿主機(jī)資源,所以可以最到彈性收縮,不像虛擬機(jī),分配的物理硬件資源固化,不能靈活調(diào)整給其他資源使用。 但是容器也存在不足,如無熱遷移,網(wǎng)絡(luò)隔離性、安全
4、性支持比較薄弱,Docker發(fā)布libnetwork增強(qiáng)網(wǎng)絡(luò)特性,很多項目也在致力改善容器網(wǎng)絡(luò)。容器應(yīng)用只能針對應(yīng)用和特定庫進(jìn)行修改,不能有kernel及通用庫改動,因為任何改動都會影響到其他容器運(yùn)行。 容器隨著用戶進(jìn)程的停止而銷毀,容器數(shù)據(jù)和日志數(shù)據(jù)無法更好管理和收集,運(yùn)維能力較弱。業(yè)務(wù)相關(guān)高可用、可恢復(fù)性、容災(zāi)等需求,暫時還無法滿足企業(yè)應(yīng)用要求。 容器還有個重要約束,Linux容器在Linux主機(jī)上運(yùn)行不同跨系統(tǒng)。也可以在Windows Server上運(yùn)行Windows容器,采用Windows版的Docker容器管理器進(jìn)行管理。如果要在Windows上運(yùn)行Linux容器,可以在Window
5、s下啟動Linux虛擬機(jī),使用Linux虛擬機(jī)作為容器宿主系統(tǒng),或采用Boot2Docker完成安裝。 容器主要通過依賴Linux系統(tǒng)的NameSpace、Cgroups和文件系統(tǒng)、鏡像分層機(jī)制技術(shù),實現(xiàn)容器資源隔離、空間隔離和跨平臺打包部署。 NameSpace(命名空間)是Linux內(nèi)核針對實現(xiàn)容器虛擬化而引入的特性。每個容器都可以擁有自己單獨的命名空間,運(yùn)行在其中的應(yīng)用都像是在獨立的操作系統(tǒng)中運(yùn)行一樣,保證了容器之間彼此互不影響。在操作系統(tǒng)中,所有包括內(nèi)核、文件系統(tǒng)、網(wǎng)絡(luò)、PID、UID、IPC、內(nèi)存、硬盤、CPU等資源都是應(yīng)用進(jìn)程直接共享的。不但要實現(xiàn)對內(nèi)存、CPU、網(wǎng)絡(luò)IO、硬盤IO
6、、存儲空間等的限制,還要實現(xiàn)文件系統(tǒng)、網(wǎng)絡(luò)、PID、UID、IPC等的相互隔離。前者相對容易實現(xiàn),后者則需要宿主主機(jī)系統(tǒng)的深入支持。 隨著Linux系統(tǒng)對于命名空間功能的逐步完善,雖然,在容器間都共用一個Linx系統(tǒng)內(nèi)核和某些運(yùn)行時環(huán)境(系統(tǒng)命令和系統(tǒng)基礎(chǔ)庫),但是他們彼此是不可見的。 Cgroups(Control Groups)是linux內(nèi)核提供的一種可以跟蹤、限制、隔離進(jìn)程組所使用的物理資源的機(jī)制。僅從資源管理上看,Linux Container是在Cgroups的基礎(chǔ)上做了一層封裝,Docker在LXC的基礎(chǔ)上又做了一層封裝。 Cgroups提供了給容器分配資源的控制機(jī)制,避免多個容
7、器同時運(yùn)行時的系統(tǒng)資源競爭??刂平M可以提供對容器的內(nèi)存、CPU、磁盤IO等資源進(jìn)行限制和計費管理??刂平M的設(shè)計目標(biāo)是為不同的應(yīng)用提供統(tǒng)一的接口,實現(xiàn)對單一進(jìn)程到系統(tǒng)級虛擬化(包括OpenVZ、Linux VServer、LXC等)的控制。 文件系統(tǒng)和鏡像分層機(jī)制可以實現(xiàn)不同的發(fā)行版Linux能夠支持異構(gòu)發(fā)行版本的容器鏡像。如在Redhat的宿主機(jī)上支持Opensuse、Centos、Debian、Ubunt等不同容器鏡像運(yùn)行。 Linux啟動到運(yùn)行需要兩個文件系統(tǒng),分別是BootFS和RootFS。BootFS主要在系統(tǒng)啟動時加載,主要包含 BootLoader 和 Linux kernel,
8、當(dāng)啟動成功Linux kernel 被加載到內(nèi)存中后, BootFS就完成自己使命被卸載了。RootFS就是Linux系統(tǒng)啟動成功后需要加載的根文件系統(tǒng),包含的就是典型 Linux 系統(tǒng)中的標(biāo)準(zhǔn)目錄和文件。 由此可見對于不同的linux發(fā)行版,BootFS基本是一致的。只有RootFS會有差別,因此不同的發(fā)行版可以公用BootFS。 容器鏡像分層機(jī)制讓容器按照打包方式封裝鏡像,一個鏡像包含一個或多個應(yīng)用。一個鏡像可以有父鏡像,多個鏡像可以共用一個父鏡像,鏡像和父鏡像呈現(xiàn)樹狀層疊關(guān)系。每層都是鏈條層里的一個鏡像,各個層疊到一起才形成一個完整的鏡像。一個層可以看成一個目錄,包含一部分差分?jǐn)?shù)據(jù),鏡像
9、部署為容器時,根據(jù)層疊關(guān)系下載依賴鏡像組合成一個容器的運(yùn)行時和根文件系統(tǒng)。 容器提供可寫層提供Copy On Write模式數(shù)據(jù)存放,分層文件系統(tǒng)使容器的鏡像可以像搭積木一樣靈活創(chuàng)建和修改,并在網(wǎng)絡(luò)上實現(xiàn)增量分發(fā)。 一個基礎(chǔ)鏡像可以給多個容器模板共用,因此大大減少數(shù)據(jù)冗余,修改的數(shù)據(jù)都在最上層可以實現(xiàn)差分修改提交和回退,加快部署速度。 在面臨復(fù)雜工作負(fù)載、尤其是分布式應(yīng)用,容器可以很好解決大規(guī)模系統(tǒng)部署的問題,用來解決以前一個一個組件安裝的低效率狀況。實現(xiàn)快速、簡單的實現(xiàn)成千上萬的系統(tǒng)部署、運(yùn)營,實現(xiàn)微服務(wù)架構(gòu)和DevOps。 Docker作為容器管理器,實現(xiàn)Build、Ship Run容器管理能力,Buil完成鏡像制作、Ship發(fā)布鏡像到Docker Hub(Git hub)或私有Hub Repositories中。 Run完成容器在不同平臺運(yùn)行,實際方案中涉及容器遷移和多容
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年漁家傲試題及答案
- 2025年專升碩英語試題及答案
- 5年級下冊英語第5單元
- 嘉興風(fēng)機(jī)吊裝施工方案
- 登鸛雀樓寫了詩人的所見
- arm芯片霍爾信號
- 2025年天然植物纖維及人造纖維編織工藝品合作協(xié)議書
- 2025年內(nèi)蒙古通遼市單招職業(yè)傾向性測試題庫1套
- 2025年重慶青年職業(yè)技術(shù)學(xué)院單招職業(yè)傾向性測試題庫及參考答案1套
- 2025年攀枝花攀西職業(yè)學(xué)院單招職業(yè)技能測試題庫審定版
- 2025年度KTV娛樂門店轉(zhuǎn)讓協(xié)議
- 機(jī)電一體化專業(yè)課程改革調(diào)研報告及改革建議
- 2025年甘肅甘南州國控資產(chǎn)投資管理集團(tuán)有限公司招聘筆試參考題庫附帶答案詳解
- 《市場營銷STP戰(zhàn)略》課件
- 《S中學(xué)宿舍樓工程量清單計價編制(附三維圖)》30000字
- 全國運(yùn)動員注冊協(xié)議書范本(2篇)
- 《高點全景視頻監(jiān)控聯(lián)網(wǎng)技術(shù)要求》
- 白云山生態(tài)停車場工程施工組織設(shè)計施工方案
- 2024年四川省綿陽市中考語文試卷(附真題答案)
- 【MOOC】Office高級應(yīng)用-成都信息工程大學(xué) 中國大學(xué)慕課MOOC答案
- 足球英語課件
評論
0/150
提交評論