溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

VMware中Harbor組件的原理是什么

發(fā)布時(shí)間:2021-08-12 11:09:07 來(lái)源:億速云 閱讀:196 作者:Leah 欄目:云計(jì)算

VMware中Harbor組件的原理是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。

    簡(jiǎn)易架構(gòu)圖

VMware中Harbor組件的原理是什么

harbor-adminserver   /harbor/start.sh                 Up (healthy)                                                                   
harbor-db            /usr/local/bin/docker-entr ...   Up (healthy)   3306/tcp                                                        
harbor-jobservice    /harbor/start.sh                 Up                                                                             
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up (healthy)   127.0.0.1:1514->10514/tcp                                       
harbor-ui            /harbor/start.sh                 Up (healthy)                                                                   
nginx                nginx -g daemon off;             Up (healthy)   0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp, 0.0.0.0:80->80/tcp
redis                docker-entrypoint.sh redis ...   Up             6379/tcp                                                        
registry             /entrypoint.sh serve /etc/ ...   Up (healthy)   5000/tcp
  1. harbor-adminserver:harbor系統(tǒng)管理接口,可以修改系統(tǒng)配置以及獲取系統(tǒng)信息

  2. harbor-db:存儲(chǔ)項(xiàng)目的元數(shù)據(jù)、用戶(hù)、規(guī)則、復(fù)制策略等信息

  3. harbor-jobservice:harbor里面主要是為了鏡像倉(cāng)庫(kù)之前同步使用的

  4. harbor-log:收集其他harbor的日志信息。rsyslogd

  5. harbor-ui:一個(gè)用戶(hù)界面模塊,用來(lái)管理registry。主要是前端的頁(yè)面和后端CURD的接口

  6. nginx:harbor的一個(gè)反向代理組件,代理registry、ui、token等服務(wù)。這個(gè)代理會(huì)轉(zhuǎn)發(fā)harbor web和docker client的各種請(qǐng)求到后端服務(wù)上。是個(gè)nginx。nginx負(fù)責(zé)流量轉(zhuǎn)發(fā)和安全驗(yàn)證,對(duì)外提供的流量都是從nginx中轉(zhuǎn),它將流量分發(fā)到后端的ui和正在docker鏡像存儲(chǔ)的docker registry

  7. registry:存儲(chǔ)docker images的服務(wù),并且提供pull/push服務(wù)。harbor需要對(duì)image的訪問(wèn)進(jìn)行訪問(wèn)控制,當(dāng)client每次進(jìn)行pull、push的時(shí)候,registry都需要client去token服務(wù)獲取一個(gè)可用的token。

  8. redis:存儲(chǔ)緩存信息

  9. webhook:當(dāng)registry中的image狀態(tài)發(fā)生變化的時(shí)候去記錄更新日志、復(fù)制等操作。
    token service:在docker client進(jìn)行pull/push的時(shí)候今天token的發(fā)放。

harbor-login

VMware中Harbor組件的原理是什么

a  nginx代理在80端口收到client發(fā)來(lái)的請(qǐng)求,然后把該請(qǐng)求轉(zhuǎn)發(fā)到后端的registry。

b  registry收到請(qǐng)求,因?yàn)閞egistry是配置的token-based的認(rèn)證,所以會(huì)直接返回一個(gè)401狀態(tài)碼,然后返回一個(gè)url,通知client去哪里獲取token,也就是token service

c  當(dāng)docker client收到這個(gè)url后,會(huì)對(duì)這個(gè)url發(fā)起請(qǐng)求,需要在請(qǐng)求頭中植入用戶(hù)名和密碼。

d  當(dāng)請(qǐng)求到達(dá)nginx反向代理后,nginx會(huì)把該請(qǐng)求轉(zhuǎn)發(fā)至ui服務(wù)上,因?yàn)閡i符合token服務(wù)在一個(gè)容器里面,token服務(wù)會(huì)解碼請(qǐng)求頭中用戶(hù)名和密碼

e  拿到用戶(hù)名和密碼后會(huì)和db中的進(jìn)行對(duì)比,如果驗(yàn)證無(wú)誤,則返回成功,在返回的http請(qǐng)求中包含一個(gè)私有key

harbor-push

VMware中Harbor組件的原理是什么

省略了proxy轉(zhuǎn)發(fā)這一步
當(dāng)你登錄harbor成功后,docker push就可以使用了。

a  docker client和registry交互,獲取到token service的url
b  隨后docker client和token service交互,告訴token需要進(jìn)行push操作
c  token服務(wù)查看db,該用戶(hù)是否有相關(guān)的權(quán)限來(lái)push image,如果有相關(guān)權(quán)限,則返回一個(gè)私有的key
d  docker client拿到token后,會(huì)對(duì)registry發(fā)起push請(qǐng)求,當(dāng)registry收到請(qǐng)求后,會(huì)用自己的公鑰解密token,如果驗(yàn)證token是合格的,則開(kāi)始image傳輸過(guò)程 

附加

    clair

        是 coreos 開(kāi)源的容器漏洞掃描工具,在容器逐漸普及的今天,容器鏡像安全問(wèn)題日益嚴(yán)重。clair 是目前少數(shù)的開(kāi)源安全掃描工具,主要提供OS(centos,debian,ubuntu等)的軟件包脆弱性?huà)呙?。clair的可以單機(jī)部署也可以部署到k8s上,可以與現(xiàn)有的registry集成。harbor 很好的整合了 clair ,通過(guò)簡(jiǎn)單的UI就可以對(duì)上傳的鏡像掃描,還可以通過(guò)每天的定時(shí)掃描對(duì)所有鏡像進(jìn)行統(tǒng)一掃描,架構(gòu)如下:

VMware中Harbor組件的原理是什么

關(guān)于VMware中Harbor組件的原理是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI