前言
Docker 是一個(gè)
開(kāi)源的應(yīng)用容器引擎
,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中,然后發(fā)布到任何流行的Linux或Windows
操作系統(tǒng)的機(jī)器上,也可以實(shí)現(xiàn)虛擬化,容器是完全使用沙箱機(jī)制,相互之間不會(huì)有任何接口。
??作者簡(jiǎn)介:熱愛(ài)跑步的恒川,致力于C/C++、Java、Python等多編程語(yǔ)言,熱愛(ài)跑步,喜愛(ài)音樂(lè)的一位博主。
??本文收錄于恒川的日常匯報(bào)系列,大家有興趣的可以看一看
??相關(guān)專(zhuān)欄C語(yǔ)言初階、C語(yǔ)言進(jìn)階系列等,大家有興趣的可以看一看
??Python零基礎(chǔ)入門(mén)系列,Java入門(mén)篇系列正在發(fā)展中,喜歡Python、Java的朋友們可以關(guān)注一下哦!
1. Linux 容器
借助于
namespace的
隔離機(jī)制和cgroup
限額功能,LXC提供了一套統(tǒng)一的API和工具來(lái)建立和管理container
, LXC利用了如下kernel
的features
- Kernel namespaces (ipc, uts, mount, pid, network and user)
- Apparmor and
SELinux profiles
- Seccomp policies
- Chroots (using pivot_root)
- Kernel capabilities
- Control groups (cgroups)
LXC 向用戶屏蔽了以上 kernel 接口的細(xì)節(jié), 提供了如下的組件大大簡(jiǎn)化了用戶的開(kāi)發(fā)和使用工作:
- The liblxc library
- Several language bindings
(python3, lua and Go)
- A set of standard tools to control the containers
- Container templates
LXC 旨在提供一個(gè)共享kernel的 OS 級(jí)虛擬化方法,在執(zhí)行時(shí)不用重復(fù)加載Kernel, 且container的kernel與host共享,因此可以大大加快container的 啟動(dòng)過(guò)程,并顯著減少內(nèi)存消耗。在實(shí)際測(cè)試中,基于LXC的虛擬化方法的IO和CPU性能幾乎接近 baremetal 的性能
, 大多數(shù)數(shù)據(jù)有相比 Xen具有優(yōu)勢(shì)。當(dāng)然對(duì)于KVM這種也是通過(guò)Kernel進(jìn)行隔離的方式, 性能優(yōu)勢(shì)或許不是那么明顯, 主要還是內(nèi)存消耗和啟動(dòng)時(shí)間上的差異。在參考文獻(xiàn) 中提到了利用iozone進(jìn)行 Disk IO吞吐量測(cè)試KVM反而比LXC要快,而且筆者在device mapping driver下重現(xiàn)同樣case的實(shí)驗(yàn)中也確實(shí)能得到如此結(jié)論
。參考文獻(xiàn)從網(wǎng)絡(luò)虛擬化中虛擬路由的場(chǎng)景(網(wǎng)絡(luò)IO和CPU角度)比較了KVM和LXC, 得到結(jié)論是KVM在性能和隔離性的平衡上比LXC更優(yōu)秀 - KVM在吞吐量上略差于LXC, 但CPU的隔離可管理項(xiàng)比LXC更明確。
2. 網(wǎng)絡(luò)虛擬化
網(wǎng)絡(luò)虛擬化的內(nèi)容一般指虛擬專(zhuān)用網(wǎng)絡(luò) (VPN)
。VPN 對(duì)網(wǎng)絡(luò)連接的概念進(jìn)行了抽象,允許遠(yuǎn)程用戶訪問(wèn)組織的內(nèi)部網(wǎng)絡(luò),就像物理上連接到該網(wǎng)絡(luò)一樣。網(wǎng)絡(luò)虛擬化可以幫助保護(hù) IT 環(huán)境,防止來(lái)自 Internet 的威脅,同時(shí)使用戶能夠快速安全的訪問(wèn)應(yīng)用程序和數(shù)據(jù)。
“Virtual Private Network”。vpn被定義為通過(guò)一個(gè)公用網(wǎng)絡(luò)(通常是因特網(wǎng))建立一個(gè)臨時(shí)的、安全的連接,是一條穿過(guò)混亂的公用網(wǎng)絡(luò)的安全、穩(wěn)定隧道。使用這條隧道可以對(duì)數(shù)據(jù)進(jìn)行幾倍加密達(dá)到安全使用互聯(lián)網(wǎng)的目的。
3. 虛擬局域網(wǎng)
比較常見(jiàn)的網(wǎng)絡(luò)虛擬化應(yīng)用包括虛擬局域網(wǎng),即VLAN
,虛擬專(zhuān)用網(wǎng),VPN,以及虛擬網(wǎng)絡(luò)設(shè)備等。
VLAN如圖1所示,是指管理員能夠根據(jù)實(shí)際應(yīng)用需求,把同一物理局域網(wǎng)內(nèi)的不同用戶,從邏輯上劃分為不同的廣播域,即實(shí)現(xiàn)了VLAN。每一個(gè)VLAN相當(dāng)于一個(gè)獨(dú)立的局域網(wǎng)絡(luò)。同一個(gè)VLAN中的計(jì)算機(jī)用戶可以互連互通,而不同VLAN之間的計(jì)算機(jī)用戶不能直接互連互通
。只有通過(guò)配置路由等技術(shù)手段才能實(shí)現(xiàn)不同VLAN之間的計(jì)算機(jī)的互連互通。
我們知道,局域網(wǎng)的特點(diǎn),就是里面的計(jì)算機(jī)之間是互聯(lián)互通的??梢?jiàn)從用戶使用的角度來(lái)看,模擬出來(lái)的邏輯網(wǎng)絡(luò)與物理網(wǎng)絡(luò)在體驗(yàn)上是完全一樣的。
3.1 常見(jiàn)形式
基于網(wǎng)絡(luò)的虛擬化方法是在網(wǎng)絡(luò)設(shè)備之間實(shí)現(xiàn)存儲(chǔ)虛擬化功能
,具體有下面幾種方式:
- 基于互聯(lián)設(shè)備的虛擬化
基于互聯(lián)設(shè)備的方法如果是對(duì)稱(chēng)的,那么控制信息和數(shù)據(jù)走在同一條通道上;如果是不對(duì)稱(chēng)的,控制信息和數(shù)據(jù)走在不同的路徑上。在對(duì)稱(chēng)的方式下,互聯(lián)設(shè)備可能成為瓶頸,但是多重設(shè)備管理和負(fù)載平衡機(jī)制可以減緩瓶頸的矛盾
。同時(shí),多重設(shè)備管理環(huán)境中,當(dāng)一個(gè)設(shè)備發(fā)生故障時(shí),也比較容易支持服務(wù)器實(shí)現(xiàn)故障接替。但是,這將產(chǎn)生多個(gè)SAN孤島,因?yàn)橐粋€(gè)設(shè)備僅控制與它所連接的存儲(chǔ)系統(tǒng)。非對(duì)稱(chēng)式虛擬存儲(chǔ)比對(duì)稱(chēng)式更具有可擴(kuò)展性,因?yàn)閿?shù)據(jù)和控制信息的路徑是分離的。
基于互聯(lián)設(shè)備的虛擬化方法能夠在專(zhuān)用服務(wù)器上運(yùn)行,使用標(biāo)準(zhǔn)操作系統(tǒng),例如Windows、Sun Solaris、Linux或供應(yīng)商提供的操作系統(tǒng)
。這種方法運(yùn)行在標(biāo)準(zhǔn)操作系統(tǒng)中,具有基于主機(jī)方法的諸多優(yōu)勢(shì)–易使用、設(shè)備便宜。許多基于設(shè)備的虛擬化提供商也提供附加的功能模塊來(lái)改善系統(tǒng)的整體性能,能夠獲得比標(biāo)準(zhǔn)操作系統(tǒng)更好的性能和更完善的功能,但需要更高的硬件成本。
但是,基于設(shè)備的方法也繼承了基于主機(jī)虛擬化方法的一些缺陷
,因?yàn)樗匀恍枰粋€(gè)運(yùn)行在主機(jī)上的代理軟件或基于主機(jī)的適配器,任何主機(jī)的故障或不適當(dāng)?shù)闹鳈C(jī)配置都可能導(dǎo)致訪問(wèn)到不被保護(hù)的數(shù)據(jù)。同時(shí),在異構(gòu)操作系統(tǒng)間的互操作性仍然是一個(gè)問(wèn)題。 - 基于路由器的虛擬化
基于路由器的方法是在路由器固件上實(shí)現(xiàn)存儲(chǔ)虛擬化功能。供應(yīng)商通常也提供運(yùn)行在主機(jī)上的附加軟件來(lái)進(jìn)一步增強(qiáng)存儲(chǔ)管理能力
。在此方法中,路由器被放置于每個(gè)主機(jī)到存儲(chǔ)網(wǎng)絡(luò)的數(shù)據(jù)通道中,用來(lái)截取網(wǎng)絡(luò)中任何一個(gè)從主機(jī)到存儲(chǔ)系統(tǒng)的命令。
3.2 虛擬專(zhuān)用網(wǎng)絡(luò)
虛擬專(zhuān)用網(wǎng)絡(luò)VPN“Virtual Private Network
。vpn被定義為通過(guò)一個(gè)公用網(wǎng)絡(luò)(通常是因特網(wǎng))建立一個(gè)臨時(shí)的、安全的連接,是一條穿過(guò)混亂的公用網(wǎng)絡(luò)的安全、穩(wěn)定隧道。使用這條隧道可以對(duì)數(shù)據(jù)進(jìn)行幾倍加密達(dá)到安全使用互聯(lián)網(wǎng)的目的。虛擬專(zhuān)用網(wǎng)是對(duì)企業(yè)內(nèi)部網(wǎng)的擴(kuò)展。虛擬專(zhuān)用網(wǎng)可以幫助遠(yuǎn)程用戶、公司分支機(jī)構(gòu)、商業(yè)伙伴及供應(yīng)商同公司的內(nèi)部網(wǎng)建立可信的安全連接,用于經(jīng)濟(jì)有效地連接到商業(yè)伙伴和用戶的安全外聯(lián)網(wǎng)虛擬專(zhuān)用網(wǎng)。VPN主要采用隧道技術(shù)、加解密技術(shù)、密鑰管理技術(shù)和使用者與設(shè)備身份認(rèn)證技術(shù)。
功能VPN可以提供的功能: 防火墻功能、認(rèn)證、加密、隧道化
。
VPN可以通過(guò)特殊加密的通訊協(xié)議連接到Internet上,在位于不同地方的兩個(gè)或多個(gè)企業(yè)內(nèi)部網(wǎng)之間建立一條專(zhuān)有的通訊線路,就好比是架設(shè)了一條專(zhuān)線一樣,好比通過(guò)安全隧道,到達(dá)目的地,而不用為隧道的建設(shè)付費(fèi),但是它并不需要真正的去鋪設(shè)光纜之類(lèi)的物理線路。這就好比去電信局申請(qǐng)專(zhuān)線,但是不用給鋪設(shè)線路的費(fèi)用,也不用購(gòu)買(mǎi)路由器等硬件設(shè)備。VPN技術(shù)原是路由器具有的重要技術(shù)之一,在交換機(jī),防火墻設(shè)備或Windows 2000及以上操作系統(tǒng)中都支持VPN功能,一句話,VPN的核心就是利用公共網(wǎng)絡(luò)建立虛擬私有網(wǎng)。
3.3 技術(shù)特點(diǎn)
- 安全保障
雖然實(shí)現(xiàn)VPN的技術(shù)和方式很多,但所有的VPN均應(yīng)保證通過(guò)公用網(wǎng)絡(luò)平臺(tái)傳輸數(shù)據(jù)的專(zhuān)用性和安全性。在安全性方面,由于VPN直接構(gòu)建在公用網(wǎng)上,實(shí)現(xiàn)簡(jiǎn)單、方便、靈活,但同時(shí)其安全問(wèn)題也更為突出
。企業(yè)必須確保其VPN上傳送的數(shù)據(jù)不被攻擊者窺視和篡改,并且要防止非法用戶對(duì)網(wǎng)絡(luò)資源或私有信息的訪問(wèn)。 - 服務(wù)質(zhì)量保證(QoS)
VPN網(wǎng)應(yīng)當(dāng)為企業(yè)數(shù)據(jù)提供不同等級(jí)的服務(wù)質(zhì)量保證。不同的用戶和業(yè)務(wù)對(duì)服務(wù)質(zhì)量保證的要求差別較大。在網(wǎng)絡(luò)優(yōu)化方面,構(gòu)建VPN的另一重要需求是充分有效地利用有限的廣域網(wǎng)資源
,為重要數(shù)據(jù)提供可靠的帶寬。廣域網(wǎng)流量的不確定性使其帶寬的利用率很低,在流量高峰時(shí)引起網(wǎng)絡(luò)阻塞,使實(shí)時(shí)性要求高的數(shù)據(jù)得不到及時(shí)發(fā)送;而在流量低谷時(shí)又造成大量的網(wǎng)絡(luò)帶寬空閑。
QoS通過(guò)流量預(yù)測(cè)與流量控制策略,可以按照優(yōu)先級(jí)實(shí)現(xiàn)帶寬管理,使得各類(lèi)數(shù)據(jù)能夠被合理地先后發(fā)送,并預(yù)防阻塞的發(fā)生。 - 可擴(kuò)充性和靈活性
VPN必須能夠支持通過(guò)Intranet和Extranet的任何類(lèi)型的數(shù)據(jù)流
,方便增加新的節(jié)點(diǎn),支持多種類(lèi)型的傳輸媒介,可以滿足同時(shí)傳輸語(yǔ)音、圖像和數(shù)據(jù)等新應(yīng)用對(duì)高質(zhì)量傳輸以及帶寬增加的需求。 - 可管理性
從用戶角度和運(yùn)營(yíng)商角度應(yīng)可方便地進(jìn)行管理、維護(hù)。VPN管理的目標(biāo)為:減小網(wǎng)絡(luò)風(fēng)險(xiǎn)、具有高擴(kuò)展性、經(jīng)濟(jì)性、高可靠性等優(yōu)點(diǎn)
。事實(shí)上,VPN管理主要包括安全管理、設(shè)備管理、配置管理、訪問(wèn)控制列表管理、QoS管理等內(nèi)容。
3.4 主要優(yōu)勢(shì)
1)建網(wǎng)快速方便 用戶只需將各網(wǎng)絡(luò)節(jié)點(diǎn)采用專(zhuān)線方式本地接入公用網(wǎng)絡(luò),并對(duì)網(wǎng)絡(luò)進(jìn)行相關(guān)配置即可
。
2)降低建網(wǎng)投資 由于VPN是利用公用網(wǎng)絡(luò)為基礎(chǔ)而建立的虛擬專(zhuān)網(wǎng),因而可以避免建設(shè)傳統(tǒng)專(zhuān)用網(wǎng)絡(luò)所需的高額軟硬件投資。
3)節(jié)約使用成本 用戶采用VPN組網(wǎng),可以大大節(jié)約鏈路租用費(fèi)及網(wǎng)絡(luò)維護(hù)費(fèi)用,從而減少企業(yè)的運(yùn)營(yíng)成本
。
4)網(wǎng)絡(luò)安全可靠 實(shí)現(xiàn)VPN主要采用國(guó)際標(biāo)準(zhǔn)的網(wǎng)絡(luò)安全技術(shù),通過(guò)在公用網(wǎng)絡(luò)上建立邏輯隧道及網(wǎng)絡(luò)層的加密
,避免網(wǎng)絡(luò)數(shù)據(jù)被修改和盜用,保證了用戶數(shù)據(jù)的安全性及完整性。
5)簡(jiǎn)化用戶對(duì)網(wǎng)絡(luò)的維護(hù)及管理
大量的網(wǎng)絡(luò)管理及維護(hù)工作由公用網(wǎng)絡(luò)服務(wù)提供商來(lái)完成。
關(guān)于CPU, DiskIO, network IO 和 memory 在KVM和LXC中的比較還是需要更多的實(shí)驗(yàn)才能得出可信服的結(jié)論。
4. 恒川贈(zèng)書(shū)活動(dòng)
恒川贈(zèng)書(shū)活動(dòng)第五期:
618,清華社 IT BOOK 多得圖書(shū)活動(dòng)開(kāi)始啦!活動(dòng)時(shí)間為2023年6月7日至6月18日,清華社為您精選多款高分好書(shū),涵蓋了C++、Java、Python、前端、后端、數(shù)據(jù)庫(kù)、算法與機(jī)器學(xué)習(xí)等多個(gè)IT開(kāi)發(fā)領(lǐng)域,適合不同層次的讀者。全場(chǎng)5折,掃碼領(lǐng)券更有優(yōu)惠哦!
特惠購(gòu)書(shū)查看詳細(xì)
抽獎(jiǎng)活動(dòng):
-
《 Python高效編程——基于Rust語(yǔ)言 》
-
《 PyTorch深度學(xué)習(xí)簡(jiǎn)明實(shí)戰(zhàn)》
-
《 圖解數(shù)據(jù)智能》
-
《 Spring Cloud微服務(wù)快速上手 》
-
《 項(xiàng)目驅(qū)動(dòng)零起點(diǎn)學(xué)Java 》
?本次活動(dòng)一共贈(zèng)書(shū)3本,評(píng)論區(qū)抽取3位小伙伴免費(fèi)送出??!
?參與方式:關(guān)注博主、點(diǎn)贊、收藏、評(píng)論區(qū)評(píng)論 “ 人生苦短,我愛(ài)Python!”(切記要點(diǎn)贊+收藏,否則抽獎(jiǎng)無(wú)效,每個(gè)人最多評(píng)論三次!?。。?/strong>
? 活動(dòng)截止時(shí)間:2023-06-17 22:30:00
?通知方式:私信通知 (五十多本書(shū)里面選一本)文章來(lái)源:http://www.zghlxwxcb.cn/news/detail-486630.html
如果這份博客對(duì)大家有幫助,希望各位給恒川一個(gè)免費(fèi)的點(diǎn)贊??作為鼓勵(lì),并評(píng)論收藏一下?,謝謝大家?。?!
制作不易,如果大家有什么疑問(wèn)或給恒川的意見(jiàn),歡迎評(píng)論區(qū)留言。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-486630.html
到了這里,關(guān)于【Docker】Docker中Linux 容器、網(wǎng)絡(luò)虛擬化與虛擬局域網(wǎng)的技術(shù)特點(diǎn)詳細(xì)講解的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!