亚欧色一区w666天堂,色情一区二区三区免费看,少妇特黄A片一区二区三区,亚洲人成网站999久久久综合,国产av熟女一区二区三区

  • 發布文章
  • 消息中心
點贊
收藏
評論
分享
原創(chuang)

云原生鏡像開發技術(1)-何為“好”鏡像

2023-10-20 01:44:11
26
0

概述

云原生的核心(xin)理念之(zhi)一(yi)就是容(rong)(rong)器化(hua),指的是使(shi)用容(rong)(rong)器化(hua)技術(shu)將應用程(cheng)序(xu)和(he)服務打(da)包(bao)城容(rong)(rong)器,以實現 應用程(cheng)序(xu)的可(ke)(ke)移植性(xing)和(he)可(ke)(ke)擴展(zhan)性(xing)。

云(yun)原生(Cloud Native)是一種基于云(yun)計算的(de)(de)軟件開發和(he)(he)部署方法論,它(ta)強調將應用(yong)程序和(he)(he)服(fu)務 設計為云(yun)環境(jing)下的(de)(de)原生應用(yong),以實現高可用(yong)性(xing)、可擴展性(xing)和(he)(he)靈活性(xing)。

容(rong)器是一(yi)個(ge)運(yun)行(xing)時概念,它是一(yi)個(ge)獨立運(yun)行(xing)的(de)應用程序及(ji)其所有運(yun)行(xing)時依賴項的(de)輕(qing)量級、可執行(xing)單(dan)元。 容(rong)器在運(yun)行(xing)時與主機(ji)操作系統共享內核,因此具有較低的(de)資源(yuan)開銷和啟(qi)動時間(jian),這(zhe)使得(de)容(rong)器相比傳統 虛擬機(ji)更(geng)為高(gao)效。

鏡(jing)(jing)(jing)(jing)像(xiang)則是(shi)容(rong)器技術的(de)基礎(chu),可以將鏡(jing)(jing)(jing)(jing)像(xiang)看作是(shi)一(yi)個(ge)只讀模(mo)板,包含了運(yun)行應用(yong)程(cheng)序(xu)所需的(de)所有代(dai)碼、 運(yun)行時庫、環境變量和配置(zhi)文件等(deng)。鏡(jing)(jing)(jing)(jing)像(xiang)由多個(ge)層次構成,每(mei)個(ge)層次代(dai)表一(yi)個(ge)文件系統(tong)的(de)快(kuai)照。這(zhe)種 分層存儲機制使得(de)鏡(jing)(jing)(jing)(jing)像(xiang)可以重(zhong)用(yong)和共享,大大減少了鏡(jing)(jing)(jing)(jing)像(xiang)的(de)體積。容(rong)器以鏡(jing)(jing)(jing)(jing)像(xiang)為基礎(chu),在鏡(jing)(jing)(jing)(jing)像(xiang)上添加(jia) 一(yi)個(ge)可寫(xie)(xie)層,任何對容(rong)器的(de)更改都將存儲在該可寫(xie)(xie)層中。

相對于容器,鏡像是一(yi)個靜態的概(gai)念,它和軟件代碼(ma),可(ke)執行代碼(ma)一(yi)樣,是開發(fa)活動的產(chan)物,因(yin)此(ci)鏡像 制作(zuo)可(ke)依看作(zuo)一(yi)個開發(fa)活動。

本(ben)文從如何鏡像(xiang)開(kai)發的(de)角度(du),來(lai)探討(tao)如何制作優質(zhi)的(de)好鏡像(xiang)。

“好”的標準

那么,如何才是(shi)“好”鏡像呢?

如(ru)果說鏡像(xiang)是開發活(huo)動的(de)產物,其(qi)質(zhi)量當然有好有壞。一個(ge)鏡像(xiang)除(chu)了能夠實現(xian)其(qi)相應(ying)(ying)的(de)業(ye)務和(he)(he)應(ying)(ying)用功能 之外,還需(xu)要從性(xing)(xing)能和(he)(he)可維護性(xing)(xing)來進行評價。

首先,鏡像要考慮容器加載的性能,具體來說,就是鏡像的大小,鏡像的大小直接決定了從鏡像倉庫拉 鏡像的網絡流量,也直接影響了容器的啟動性能。當然鏡像的分層設計和Docker(或其他CRI)的緩存機制 大大的降低的這個影響。一個極小的輕量級鏡像可以大大加快容器的啟動性能,這也是許多go生態的鏡像 以scratch作為基(ji)礎鏡像的原(yuan)因。

其(qi)次,鏡像(xiang)需要(yao)考慮可維(wei)護性,運維(wei)人員日(ri)常對容(rong)(rong)器的運維(wei)操(cao)作包(bao)括查(cha)看日(ri)志(zhi),進容(rong)(rong)器內(nei)部進行(xing)(xing)調(diao)試等。 鏡像(xiang)中日(ri)志(zhi)的輸出業務性太強(qiang),暫且不說。個人認為進入(ru)容(rong)(rong)器進行(xing)(xing)shell調(diao)試非常重(zhong)要(yao),比如(ru)檢查(cha)容(rong)(rong)器網絡 時(shi),需要(yao)進行(xing)(xing)一些(xie)必要(yao)的ping或者curl操(cao)作等。一個好(hao)維(wei)護的鏡像(xiang)需要(yao)內(nei)置一個強(qiang)大(da)的shell。

目前許多開源鏡像出于種種原因,故意忽略這一點,比如直接從scratch上構建鏡像,鏡像內部沒(mei)有shell, 運維(wei)人員(yuan)根本無法進(jin)入容(rong)器(qi),根本無法維(wei)護。 在后續(xu)章節中,我們將(jiang)介紹(shao)相應(ying)的(de)技巧(qiao),為(wei)此類(lei)鏡像增加shell

最(zui)后,鏡(jing)像需要(yao)考慮可定(ding)制(zhi)(zhi)(zhi)性(xing)。這里的(de)可定(ding)制(zhi)(zhi)(zhi)性(xing),包括了二(er)次(ci)開發的(de)定(ding)制(zhi)(zhi)(zhi)和運(yun)行時定(ding)制(zhi)(zhi)(zhi)。二(er)次(ci)開發的(de)定(ding)制(zhi)(zhi)(zhi)指的(de) 是(shi)他人(ren)是(shi)否能夠繼承(cheng)你的(de)鏡(jing)像實現它的(de)個性(xing)化需求,比如(ru)說(shuo)定(ding)制(zhi)(zhi)(zhi)配(pei)置文件或(huo)環境變(bian)量,增(zeng)加其他應用功能等。 運(yun)行時定(ding)制(zhi)(zhi)(zhi)指的(de)是(shi)在容器(qi)啟動或(huo)運(yun)行過程中,定(ding)制(zhi)(zhi)(zhi)環境變(bian)量,配(pei)置文件等等。

因此,我(wo)們初步可以(yi)認為:一個好的鏡(jing)像(xiang),需(xu)要包括下列特性:

  • 輕量,鏡像體積必須小,盡量減少網絡傳輸,和拉起容器所需的時間;
  • 易調試,具備必要的shell和調試工具
  • 易定制,可輕易通過環境變量注入,或者文件注入來定制鏡像業務功能。
0條評論
0 / 1000
段歪歪
3文章數
3粉絲數
段歪歪
3 文章 | 3 粉絲
段歪歪
3文章(zhang)數(shu)
3粉絲數
段歪歪
3 文章 | 3 粉絲
原(yuan)創

云原生鏡像開發技術(1)-何為“好”鏡像

2023-10-20 01:44:11
26
0

概述

云(yun)原(yuan)生的(de)(de)核(he)心理念之一就是容器化,指的(de)(de)是使用(yong)容器化技(ji)術(shu)將應用(yong)程序和服務(wu)打包城容器,以(yi)實(shi)現 應用(yong)程序的(de)(de)可(ke)移(yi)植(zhi)性和可(ke)擴展性。

云(yun)(yun)原(yuan)生(sheng)(Cloud Native)是一種基于云(yun)(yun)計算的軟件開發和(he)部署方法論,它強調將(jiang)應(ying)(ying)用(yong)(yong)程序和(he)服(fu)務 設(she)計為云(yun)(yun)環境下的原(yuan)生(sheng)應(ying)(ying)用(yong)(yong),以實現高(gao)可用(yong)(yong)性(xing)(xing)、可擴(kuo)展性(xing)(xing)和(he)靈活性(xing)(xing)。

容(rong)器是一個運行時(shi)概(gai)念,它是一個獨立運行的(de)應用程序及其所有運行時(shi)依賴項的(de)輕量(liang)級、可(ke)執行單元。 容(rong)器在運行時(shi)與主機操(cao)作系統共享(xiang)內核,因此(ci)具有較(jiao)低的(de)資源開銷和啟動(dong)時(shi)間(jian),這使得容(rong)器相比傳統 虛擬(ni)機更為高效。

鏡(jing)(jing)(jing)像(xiang)(xiang)則是(shi)容(rong)器(qi)技術的(de)(de)(de)基(ji)礎,可以(yi)將(jiang)鏡(jing)(jing)(jing)像(xiang)(xiang)看作是(shi)一個只讀模板(ban),包含了運行(xing)應用(yong)程序(xu)所(suo)需(xu)的(de)(de)(de)所(suo)有代碼、 運行(xing)時庫、環境(jing)變(bian)量和配置文件等。鏡(jing)(jing)(jing)像(xiang)(xiang)由(you)多個層(ceng)次(ci)構(gou)成,每個層(ceng)次(ci)代表一個文件系統的(de)(de)(de)快(kuai)照。這種 分層(ceng)存儲(chu)機制使(shi)得(de)鏡(jing)(jing)(jing)像(xiang)(xiang)可以(yi)重用(yong)和共享,大大減少了鏡(jing)(jing)(jing)像(xiang)(xiang)的(de)(de)(de)體(ti)積。容(rong)器(qi)以(yi)鏡(jing)(jing)(jing)像(xiang)(xiang)為基(ji)礎,在鏡(jing)(jing)(jing)像(xiang)(xiang)上添加 一個可寫層(ceng),任何(he)對容(rong)器(qi)的(de)(de)(de)更改都將(jiang)存儲(chu)在該可寫層(ceng)中(zhong)。

相對于(yu)容器(qi),鏡像(xiang)(xiang)是一(yi)個靜態的(de)概念,它和(he)軟件代(dai)碼(ma),可執行代(dai)碼(ma)一(yi)樣,是開發活動的(de)產物,因此鏡像(xiang)(xiang) 制作(zuo)可依看作(zuo)一(yi)個開發活動。

本文從(cong)如何鏡(jing)像(xiang)開發的(de)角(jiao)度,來探討(tao)如何制作優質的(de)好鏡(jing)像(xiang)。

“好”的標準

那(nei)么(me),如(ru)何才是“好”鏡像呢?

如果說鏡像(xiang)是(shi)開發活動(dong)的(de)產(chan)物,其質量當然有好有壞。一個鏡像(xiang)除了能(neng)(neng)夠實現其相應的(de)業務和應用功能(neng)(neng) 之外,還需要從性能(neng)(neng)和可維護性來(lai)進行評價。

首先,鏡像要考慮容器加載的性能,具體來說,就是鏡像的大小,鏡像的大小直接決定了從鏡像倉庫拉 鏡像的網絡流量,也直接影響了容器的啟動性能。當然鏡像的分層設計和Docker(或其他CRI)的緩存機制 大大的降低的這個影響。一個極小的輕量級鏡像可以大大加快容器的啟動性能,這也是許多go生態的鏡像 以scratch作(zuo)為(wei)基礎(chu)鏡(jing)像的原因。

其(qi)次,鏡(jing)像(xiang)需(xu)要(yao)(yao)考慮可維(wei)護性,運維(wei)人員日常對容(rong)(rong)器(qi)的(de)運維(wei)操作(zuo)包括查看日志,進(jin)容(rong)(rong)器(qi)內部進(jin)行(xing)調試(shi)等(deng)。 鏡(jing)像(xiang)中日志的(de)輸出業務性太(tai)強,暫且不說。個人認為進(jin)入容(rong)(rong)器(qi)進(jin)行(xing)shell調試(shi)非常重要(yao)(yao),比如檢查容(rong)(rong)器(qi)網絡 時,需(xu)要(yao)(yao)進(jin)行(xing)一(yi)些必要(yao)(yao)的(de)ping或者(zhe)curl操作(zuo)等(deng)。一(yi)個好維(wei)護的(de)鏡(jing)像(xiang)需(xu)要(yao)(yao)內置(zhi)一(yi)個強大的(de)shell。

目前許多開源鏡像出于種種原因,故意忽略這一點,比如直接從scratch上構(gou)建鏡(jing)像,鏡(jing)像內部沒有shell, 運維(wei)人(ren)員(yuan)根本(ben)(ben)無(wu)法進(jin)入容器,根本(ben)(ben)無(wu)法維(wei)護。 在(zai)后續章節中,我(wo)們將介紹相應的技巧,為(wei)此類鏡(jing)像增加shell

最后,鏡(jing)像需要考慮可定(ding)制(zhi)性(xing)。這里的(de)(de)(de)可定(ding)制(zhi)性(xing),包括了二(er)次開發的(de)(de)(de)定(ding)制(zhi)和運行時(shi)(shi)定(ding)制(zhi)。二(er)次開發的(de)(de)(de)定(ding)制(zhi)指的(de)(de)(de) 是他人是否能夠繼承你的(de)(de)(de)鏡(jing)像實現它的(de)(de)(de)個性(xing)化需求,比如說(shuo)定(ding)制(zhi)配置(zhi)文件(jian)或環境變量,增加其他應用功能等。 運行時(shi)(shi)定(ding)制(zhi)指的(de)(de)(de)是在容(rong)器啟(qi)動或運行過程中(zhong),定(ding)制(zhi)環境變量,配置(zhi)文件(jian)等等。

因此,我們初(chu)步可以認為:一個好的鏡像,需(xu)要(yao)包括下列特性:

  • 輕量,鏡像體積必須小,盡量減少網絡傳輸,和拉起容器所需的時間;
  • 易調試,具備必要的shell和調試工具
  • 易定制,可輕易通過環境變量注入,或者文件注入來定制鏡像業務功能。
文章來自個人專欄
文章 | 訂閱(yue)
0條評論
0 / 1000
請輸入你的評論
0
0