您好,登錄后才能下訂單哦!
VMware中Harbor組件的原理是什么,針對(duì)這個(gè)問(wèn)題,這篇文章詳細(xì)介紹了相對(duì)應(yīng)的分析和解答,希望可以幫助更多想解決這個(gè)問(wèn)題的小伙伴找到更簡(jiǎn)單易行的方法。
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
harbor-adminserver:harbor系統(tǒng)管理接口,可以修改系統(tǒng)配置以及獲取系統(tǒng)信息
harbor-db:存儲(chǔ)項(xiàng)目的元數(shù)據(jù)、用戶(hù)、規(guī)則、復(fù)制策略等信息
harbor-jobservice:harbor里面主要是為了鏡像倉(cāng)庫(kù)之前同步使用的
harbor-log:收集其他harbor的日志信息。rsyslogd
harbor-ui:一個(gè)用戶(hù)界面模塊,用來(lái)管理registry。主要是前端的頁(yè)面和后端CURD的接口
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
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。
redis:存儲(chǔ)緩存信息
webhook:當(dāng)registry中的image狀態(tài)發(fā)生變化的時(shí)候去記錄更新日志、復(fù)制等操作。
token service:在docker client進(jìn)行pull/push的時(shí)候今天token的發(fā)放。
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
省略了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ò)程
是 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)如下:
關(guān)于VMware中Harbor組件的原理是什么問(wèn)題的解答就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,如果你還有很多疑惑沒(méi)有解開(kāi),可以關(guān)注億速云行業(yè)資訊頻道了解更多相關(guān)知識(shí)。
免責(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)容。