Docker鏡像倉庫為什么要分庫分權(quán)限-創(chuàng)新互聯(lián)

本篇文章為大家展示了Docker鏡像倉庫為什么要分庫分權(quán)限,內(nèi)容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細(xì)介紹希望你能有所收獲。

成都服務(wù)器托管,成都創(chuàng)新互聯(lián)公司提供包括服務(wù)器租用、成都二樞服務(wù)器租用托管、帶寬租用、云主機(jī)、機(jī)柜租用、主機(jī)租用托管、CDN網(wǎng)站加速、申請域名等業(yè)務(wù)的一體化完整服務(wù)。電話咨詢:13518219792

先說一個事故案例:

場景:某大型互聯(lián)網(wǎng)電商公司,使用一個鏡像倉庫管理所有Docker鏡像。開發(fā)者打出的鏡像上傳到唯一的鏡像庫,測試通過后,運(yùn)維環(huán)境的 Kubernetes 直接從這個庫里拉取鏡像,所有人對鏡像庫都有 CRUD 的權(quán)限。
事故:由于鏡像存儲容量過大,開發(fā)者打算清理下Snapshot 的鏡像,在鏡像清理的時候,誤將生產(chǎn)環(huán)境的鏡像進(jìn)行了刪除,導(dǎo)致上線出現(xiàn)問題。本質(zhì)是鏡像缺乏成熟度的區(qū)分管理,
解決辦法:為通一個項目的鏡像通過升級,放在3個鏡像倉庫內(nèi),開發(fā)庫,測試庫,生產(chǎn)庫。不同的鏡像庫對應(yīng)管理不同成熟度的鏡像。
Docker鏡像倉庫為什么要分庫分權(quán)限

從上圖可以看到,Michael Huttermann 在2012年展示的流水線質(zhì)量關(guān)卡的概念。上圖的意思,是每個流水線必須具備一定的質(zhì)量關(guān)卡,特別是在測試環(huán)境,也就是說,未經(jīng)自動化測試的 Docker 鏡像,是不能被放到線上環(huán)境運(yùn)行的。為了區(qū)分不同成熟度的制品,需要為不同成熟度階段的制品建立不同的制品倉庫,也就是開發(fā)庫,測試庫,生產(chǎn)庫。
Docker鏡像倉庫為什么要分庫分權(quán)限

根據(jù)鏡像成熟度區(qū)分的原則,我推薦上圖的鏡像存儲方式。我們?yōu)殚_發(fā)者提供鏡像的開發(fā)庫,供他們將打好的鏡像 Push 到開發(fā)庫,推送到鏡像庫之后,即開始開發(fā)者自我驗證功能。自我驗證通過后,鏡像倉庫會復(fù)制(也叫Promote升級)到測試庫,隨后調(diào)用測試環(huán)境的 Jenkins 流水線,執(zhí)行自動化測試案例,當(dāng)測試完成后,記錄測試結(jié)果的關(guān)鍵信息到該鏡像的元數(shù)據(jù)上。同時通知測試人員進(jìn)行 UAT 測試,待所有的測試(人工+自動化)完成之后,邊將該鏡像升級到發(fā)布庫,也叫生產(chǎn)庫。
現(xiàn)在我們?yōu)槊總€項目建立了三個鏡像倉庫,那么你可能會問,難道我需要配置3個鏡像倉庫地址嗎?這里我們推薦下面的鏡像倉庫工作模型。
Docker鏡像倉庫為什么要分庫分權(quán)限

來看看上述模型的工作原理:
?   首先需要有一個虛擬倉庫(Virtual Repository)來聚合三個本地倉庫(Local)和遠(yuǎn)程倉庫(Remote)。目前JFrog Artifactory支持了虛擬倉庫,為研發(fā)團(tuán)隊提供唯一的 Docker 鏡像中心訪問地址,而不需要在多個鏡像中心之間切換。
?   開發(fā)者通過遠(yuǎn)程倉庫用于代理和緩存 DockerHub 的官方鏡像源。
?   鏡像通過 Jenkins流水線,在三個本地倉庫之間進(jìn)行升級。
?   終端用戶,例如生產(chǎn)環(huán)境的 Docker 客戶端,訪問 Docker 生產(chǎn)環(huán)境的虛擬倉庫,該倉庫提供對外的服務(wù)。
好的,了解了鏡像升級,虛擬倉庫的概念之后,你可能會問,如何做這些倉庫的權(quán)限配置呢?
我畫了下面的表格,來幫助你理解不同團(tuán)隊對不同成熟度的鏡像倉庫應(yīng)該基本什么樣的權(quán)限。
Docker鏡像倉庫為什么要分庫分權(quán)限

開發(fā)只對開發(fā)庫有CRUD權(quán)限,對生產(chǎn)庫無權(quán)限,這樣就能避免開發(fā)對生產(chǎn)庫的誤操作。測試團(tuán)隊只接受通過開發(fā)自測,升級到測試庫的鏡像,這樣降低測試團(tuán)隊的無效測試率。運(yùn)維對生產(chǎn)庫有CRUD 的權(quán)限。那么這里你可能注意到了 CI 服務(wù)器對三個倉庫都有權(quán)限,那是應(yīng)為鏡像的跨倉庫復(fù)制,打標(biāo)簽,都是通過CI 服務(wù)器自動化完成的。

通過開發(fā),測試,生產(chǎn)的三庫分離設(shè)置,來存放不同成熟度的 Docker 鏡像,這樣方便做鏡像倉庫的清理,只清理開發(fā)庫的鏡像,同時,生產(chǎn)庫只有CI 服務(wù)器能上傳,運(yùn)維只接受生產(chǎn)庫里的鏡像,進(jìn)行鏡像漏洞掃描,部署到生產(chǎn)環(huán)境。有

上述內(nèi)容就是Docker鏡像倉庫為什么要分庫分權(quán)限,你們學(xué)到知識或技能了嗎?如果還想學(xué)到更多技能或者豐富自己的知識儲備,歡迎關(guān)注創(chuàng)新互聯(lián)-成都網(wǎng)站建設(shè)公司行業(yè)資訊頻道。

本文名稱:Docker鏡像倉庫為什么要分庫分權(quán)限-創(chuàng)新互聯(lián)
分享路徑:http://bm7419.com/article36/gidpg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供響應(yīng)式網(wǎng)站、定制網(wǎng)站、網(wǎng)站制作建站公司、面包屑導(dǎo)航、自適應(yīng)網(wǎng)站

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

小程序開發(fā)