dockers
重點(diǎn):聯(lián)合文件系統(tǒng)、Image分層技術(shù)敞峭、微服務(wù)
k8s: 搭建minikube(安裝kubectl踊谋、virtuabox)。 四個(gè)節(jié)點(diǎn)(node)的k8s集群旋讹,一個(gè)master主節(jié)點(diǎn)殖蚕,三個(gè)從節(jié)點(diǎn)(工作結(jié)點(diǎn)),搭建完成骗村,檢查pod驗(yàn)證準(zhǔn)確性嫌褪。在上面做比如負(fù)載均衡等,就是玩具級(jí)別的驗(yàn)證胚股。
-
Docker 是一個(gè)開(kāi)源的應(yīng)用容器引擎,讓開(kāi)發(fā)者可以打包他們的應(yīng)用以及依賴包到一個(gè)可移植的容器中裙秋,然后發(fā)布到任何流行的linux機(jī)器上琅拌,實(shí)現(xiàn)虛擬化缨伊。
image.png - 使用聯(lián)合文件系統(tǒng)
1、聯(lián)合文件系統(tǒng)(UnionFS)是一種輕量級(jí)的高性能分層文件系統(tǒng)进宝,它支持將文件系統(tǒng)中的修改信息作為一次提交刻坊,并層層疊加,同時(shí)可以將不同目錄掛載到同一個(gè)虛擬文件系統(tǒng)下党晋,應(yīng)用看到的是掛載的最終結(jié)果谭胚。
2、聯(lián)合文件系統(tǒng)是實(shí)現(xiàn)Docker鏡像的技術(shù)基礎(chǔ)未玻。Docker鏡像可以通過(guò)分層來(lái)進(jìn)行繼承灾而。例如,用戶基于基礎(chǔ)鏡像(用來(lái)生成其他鏡像的基礎(chǔ)扳剿,往往沒(méi)有父鏡像)來(lái)制作各種不同的應(yīng)用鏡像旁趟。這些鏡像共享同一個(gè)基礎(chǔ)鏡像層,提高了存儲(chǔ)效率庇绽。此外锡搜,當(dāng)用戶改變了一個(gè)Docker鏡像(比如升級(jí)程序到新的版本),則會(huì)創(chuàng)建一個(gè)新的層(layer)瞧掺。因此耕餐,用戶不用替換整個(gè)原鏡像或者重新建立,只需要添加新層即可辟狈。用戶分發(fā)鏡像的時(shí)候肠缔,也只需要分發(fā)被改動(dòng)的新層內(nèi)容(增量部分)。
*image分層技術(shù)
我們可以鏡像可以分層很多個(gè)layer上陕,并且他們都有大小和ID桩砰,我們可以看到這里有4個(gè)layer ID號(hào),最終這個(gè)鏡像是由他們layer組合而成释簿,并且這個(gè)鏡像它是只讀的亚隅,它不能往里面寫數(shù)據(jù),如果想寫數(shù)據(jù)怎么辦呢庶溶?我們可以鏡像可以分層很多個(gè)layer煮纵,并且他們都有大小和ID,我們可以看到這里有4個(gè)layer ID號(hào)偏螺,最終這個(gè)鏡像是由他們layer組合而成行疏,并且這個(gè)鏡像它是只讀的,它不能往里面寫數(shù)據(jù)套像,如果想寫數(shù)據(jù)怎么辦呢酿联?
- dockers與微服務(wù)
1、站在 Docker 的角度,軟件就是容器的組合:業(yè)務(wù)邏輯容器贞让、數(shù)據(jù)庫(kù)容器周崭、儲(chǔ)存容器、隊(duì)列容器......Docker 使得軟件可以拆分成若干個(gè)標(biāo)準(zhǔn)化容器喳张,然后像搭積木一樣組合起來(lái)续镇。
2、這正是微服務(wù)(microservices)的思想:軟件把任務(wù)外包出去销部,讓各種外部服務(wù)完成這些任務(wù)摸航,軟件本身只是底層服務(wù)的調(diào)度中心和組裝層。
3舅桩、微服務(wù)很適合用 Docker 容器實(shí)現(xiàn)酱虎,每個(gè)容器承載一個(gè)服務(wù)。一臺(tái)計(jì)算機(jī)同時(shí)運(yùn)行多個(gè)容器江咳,從而就能很輕松地模擬出復(fù)雜的微服務(wù)架構(gòu)逢净。
dockers與虛擬機(jī)
1、 主要解決的問(wèn)題:
環(huán)境配置的難題: 操作系統(tǒng)的設(shè)置歼指,各種庫(kù)和組件的安裝爹土。只有它們都正確,軟件才能運(yùn)行踩身。
2胀茵、 虛擬機(jī) 是一種帶環(huán)境安裝的解決方案。
缺點(diǎn):
- 資源占用多挟阻。虛擬機(jī)獨(dú)占一部分內(nèi)存和硬盤空間琼娘。
- 冗余步驟多。虛擬機(jī)是完整的操作系統(tǒng)附鸽,一些系統(tǒng)級(jí)別的操作步驟脱拼,往往無(wú)法跳過(guò),比如用戶登錄坷备。
- 啟動(dòng)慢熄浓。啟動(dòng)操作系統(tǒng)需要多久,啟動(dòng)虛擬機(jī)就需要多久省撑。
3赌蔑、 Linux容器 不是模擬一個(gè)完整的操作系統(tǒng),而是對(duì)進(jìn)程進(jìn)行隔離竟秫。
由于容器是進(jìn)程級(jí)別的娃惯,相比虛擬機(jī)有很多優(yōu)勢(shì):
- 啟動(dòng)快。容器里面的應(yīng)用肥败,直接就是底層系統(tǒng)的一個(gè)進(jìn)程趾浅,而不是虛擬機(jī)內(nèi)部的進(jìn)程愕提。
- 資源占用少。容器只占用需要的資源潮孽,不占用那些沒(méi)有用到的資源揪荣;另外筷黔,多個(gè)容器可以共享資源往史,虛擬機(jī)都是獨(dú)享資源。
- 體積小佛舱。容器只要包含用到的組件即可椎例,而虛擬機(jī)是整個(gè)操作系統(tǒng)的打包。
總之请祖,容器有點(diǎn)像輕量級(jí)的虛擬機(jī)订歪,能夠提供虛擬化的環(huán)境,但是成本開(kāi)銷小得多肆捕。