成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

5分鐘!帶你吐槽容器鏡像中那些讓人一言難盡的事情

存儲(chǔ) 存儲(chǔ)軟件
現(xiàn)如今容器生態(tài)大受歡迎有許多原因,其中一個(gè)就是應(yīng)用部署上的優(yōu)秀體驗(yàn),容器鏡像的出現(xiàn)是這種體驗(yàn)?zāi)軌虺蔀楝F(xiàn)實(shí)的一個(gè)基礎(chǔ)。

 

本文轉(zhuǎn)載自微信公眾號(hào)「云巔論劍」,作者Liu,Bo 。轉(zhuǎn)載本文請(qǐng)聯(lián)系云巔論劍公眾號(hào)。 

容器鏡像中那些讓人一言難盡的事情

現(xiàn)如今容器生態(tài)大受歡迎有許多原因,其中一個(gè)就是應(yīng)用部署上的優(yōu)秀體驗(yàn),容器鏡像的出現(xiàn)是這種體驗(yàn)?zāi)軌虺蔀楝F(xiàn)實(shí)的一個(gè)基礎(chǔ)。

簡(jiǎn)要回顧一下容器鏡像,概括為幾點(diǎn):

  1. 它提供了一個(gè)應(yīng)用軟件運(yùn)行的完整操作系統(tǒng)包,是不可變基礎(chǔ)設(shè)施的一部分,其格式(https://docs.docker.com/storage/storagedriver/?spm=ata.13261165.0.0.567e1b43DoMXC0)如下圖1 所示。
  2. 鏡像中一個(gè)重要的概念是layer,引用docker documentation(https://docs.docker.com/storage/storagedriver/?spm=ata.13261165.0.0.567e1b43DoMXC0#images-and-layers)中的介紹,"Each layer is only a set of differences from the layer before it. The layers are stacked on top of each other."
  3. 一個(gè)容器鏡像是由一個(gè)或多個(gè)layer組成的。
  4. 容器鏡像是存儲(chǔ)在registry中的,諸如 Docker Hub(https://hub.docker.com/?spm=ata.13261165.0.0.567e1b43DoMXC0)和公有云提供商的registry service。

但今天我們要一起來(lái)吐槽一下容器鏡像。

1. 首次啟動(dòng)中大型鏡像很慢

第一次運(yùn)行時(shí)總是需要等上幾分鐘,這是因?yàn)樵谡絾?dòng)一個(gè)容器之前,還需要一些準(zhǔn)備工作:

  1. 從registry下載鏡像,包含了鏡像的所有l(wèi)ayers,比如上圖的鏡像"rust:latest"中包含6 layers,
  2. 把鏡像layers一個(gè)接一個(gè)地解壓到本地filesystem中,
  3. 最后用overlayfs 將這些layer組合為一個(gè)mount point作為容器的rootfs,
  4. 啟動(dòng)容器。

其中,當(dāng)啟動(dòng)一個(gè)龐大的鏡像時(shí),最耗時(shí)的是第一步中的下載鏡像,但因?yàn)閱我籰ayer是一個(gè)整體,對(duì)同一個(gè)layer無(wú)法并行下載,與此同時(shí)鏡像size很大通常意味著包含的layer size也很大,所以大部分時(shí)間都花在了網(wǎng)絡(luò)傳輸上。

2. 去重低效

如果大家關(guān)注過(guò)鏡像base layer,比如上圖中的CentOS 和 Ubuntu,其中的目錄結(jié)構(gòu)是相同的標(biāo)準(zhǔn)操作系統(tǒng)根分區(qū)結(jié)構(gòu),內(nèi)容也是類似的,那么我們很自然地可以想到,在registry中存儲(chǔ)的時(shí)候會(huì)將他們?nèi)ブ?Deduplication)嗎?

對(duì)于上圖這種情況,registry 現(xiàn)在不會(huì)做去重,原因仍是“單一layer是一個(gè)整體”,registry 的去重是基于layer的digest id的,即如果兩個(gè)不同鏡像使用了同一個(gè)layer,那么在registry上只存一個(gè)layer。

3. 對(duì)刪除和鏈接的處理

先說(shuō)刪除,當(dāng)對(duì)lower layer中的一個(gè)file做unlink時(shí),會(huì)在upper layer 發(fā)生什么?

現(xiàn)在的邏輯是在upper layer添加一個(gè)特殊的white-out empty file來(lái)表示被unlink的file,以達(dá)到最終視圖上的unlink效果。

“你說(shuō)你一個(gè)沒(méi)點(diǎn),完事我們還得搭一個(gè)是不"

想象一下,如果想刪掉一個(gè)password file,這個(gè)white-out 做法會(huì)帶來(lái)什么后果?

再說(shuō)hardlink,當(dāng)對(duì)lower layer中的一個(gè)file做hardlink時(shí),會(huì)在upper layer發(fā)生什么?當(dāng)前采取了一種笨拙的做法,即把lower layer file拷貝一份到upper layer,再添加對(duì)應(yīng)的hardlink。當(dāng)這個(gè)file size 很大時(shí),那么浪費(fèi)的存儲(chǔ)空間就相當(dāng)可觀了。

4. 安全審計(jì)不完整

再說(shuō)一個(gè)安全審計(jì)上的問(wèn)題,因?yàn)殓R像每一個(gè)layer都有對(duì)應(yīng)的digest id,在鏡像下載之后可以對(duì)layer進(jìn)行校驗(yàn),但當(dāng)把鏡像layers一個(gè)接一個(gè)地解壓到本地filesystem中之后呢?我們沒(méi)有辦法再去校驗(yàn)了,因?yàn)楸举|(zhì)上解壓后的filesystem目錄和鏡像的layers是兩種不同的形態(tài)了,所以運(yùn)行時(shí)的安全審計(jì)是缺失的。

成也layer,敗也layer

我們回過(guò)頭來(lái)看,上面的問(wèn)題除了最后的安全審計(jì),其它的原因都可以歸結(jié)為“以layer為基本單位的鏡像格式”。所以,雖然選擇layer的設(shè)計(jì)是為了讓不同的應(yīng)用軟件鏡像能夠共用同一部分基礎(chǔ)系統(tǒng),達(dá)到節(jié)省存儲(chǔ)和節(jié)省傳輸?shù)哪康模窃趯?shí)踐中用戶們也逐漸發(fā)現(xiàn)了它帶來(lái)的難以workaround的問(wèn)題。

欲知詳情,且聽(tīng)明天分解。。。

 

責(zé)任編輯:武曉燕 來(lái)源: 云巔論劍
相關(guān)推薦

2018-11-07 19:46:30

本地ERP

2020-05-25 09:45:47

開發(fā)技能代碼

2022-08-31 08:14:46

算法key鏈表

2024-10-28 12:54:36

2023-03-20 18:55:10

微軟AI人工智能

2024-11-25 10:30:00

AI視頻開源

2021-02-16 09:17:40

VimLinux編輯器

2020-09-14 11:30:26

HTTP3運(yùn)維互聯(lián)網(wǎng)

2020-11-23 16:23:59

CSS設(shè)計(jì)技術(shù)

2024-08-13 11:13:18

2021-01-06 05:23:15

ServiceMesh網(wǎng)絡(luò)阿帕網(wǎng)

2019-09-09 09:29:27

互聯(lián)網(wǎng)程序員職業(yè)

2021-01-12 15:58:03

云管理

2025-03-13 06:22:59

2022-06-17 08:05:28

Grafana監(jiān)控儀表盤系統(tǒng)

2021-06-02 09:12:04

App自動(dòng)化測(cè)試測(cè)試自動(dòng)化

2020-12-18 07:33:20

SpringSchedule組件

2016-09-12 17:28:45

云存儲(chǔ)應(yīng)用軟件存儲(chǔ)設(shè)備

2021-10-19 07:27:08

HTTP代理網(wǎng)絡(luò)

2020-10-13 18:22:58

DevOps工具開發(fā)
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

主站蜘蛛池模板: 午夜一级大片 | 日本在线看 | 老牛嫩草一区二区三区av | 国产一区二区久久 | 日日骚av| 成人在线免费观看 | 日日欧美 | 成人午夜电影网 | 久久精品一区二区视频 | 日韩1区 | 91在线观看视频 | 亚洲网站在线播放 | 国产成人小视频 | av黄色免费 | 精品美女在线观看视频在线观看 | 人人干97| 日韩毛片在线观看 | 国精久久 | 国产免费观看一区 | 国产一区2区 | 超碰地址| 天天看天天操 | 亚洲精品无 | 欧美一级片 | 午夜视频在线视频 | 久久亚洲一区二区 | 在线免费亚洲视频 | 日本三级电影免费 | 欧美日韩在线精品 | 亚洲久久一区 | 亚洲精品一区二 | 91综合网 | 日韩精品一区二区在线观看 | 国产丝袜av | 一区二区三区电影网 | 日韩在线精品 | 亚洲一区二区av | 国产精品久久久亚洲 | 亚洲视频在线一区 | 久草视频观看 | 一区二区三区免费 |