[Harbor]Harbor簡要介紹

前一段時間寫過一篇文章:[Kubernetes]CentOS7下搭建Harbor倉庫,只是知道了如何搭建,可是對於背後的總體架構還不是太清楚,這篇文章就來說講.
默認狀況下,Harbor運行起來後有以下容器:nginx

[root@localhost ~]# docker ps
CONTAINER ID        IMAGE                              COMMAND                  CREATED             STATUS                 PORTS                                                              NAMES
c2ac87673c5b        vmware/nginx-photon:1.11.13        "nginx -g 'daemon of…"   2 hours ago         Up 2 hours             0.0.0.0:80->80/tcp, 0.0.0.0:443->443/tcp, 0.0.0.0:4443->4443/tcp   nginx
0d0a8e9cf7f4        vmware/harbor-jobservice:v1.3.0    "/harbor/start.sh"       2 hours ago         Up 2 hours (healthy)                                                                      harbor-jobservice
bb3b83138017        vmware/harbor-ui:v1.3.0            "/harbor/start.sh"       2 hours ago         Up 2 hours (healthy)                                                                      harbor-ui
16f8eec3d78e        vmware/harbor-adminserver:v1.3.0   "/harbor/start.sh"       2 hours ago         Up 2 hours (healthy)                                                                      harbor-adminserver
5063ea0d99d6        vmware/registry:2.6.2-photon       "/entrypoint.sh serv…"   2 hours ago         Up 2 hours (healthy)   5000/tcp                                                           registry
56f5a1077f3a        vmware/harbor-db:v1.3.0            "/usr/local/bin/dock…"   2 hours ago         Up 2 hours (healthy)   3306/tcp                                                           harbor-db
23bf25652305        vmware/harbor-log:v1.3.0           "/bin/sh -c /usr/loc…"   2 hours ago         Up 2 hours (healthy)   127.0.0.1:1514->10514/tcp                                          harbor-log

分別爲nginx,harbor-jobservice,harbor-ui,harbor-adminserver,registry,harbor-db,harbor-log,由上咱們能夠得出下面的架構圖:
在這裏插入圖片描述docker

各模塊詳解
Harbor是經過docker compose來部署的,這也是爲何在裝Harbor以前,須要安裝docker-compose.接下來說一下上圖中設計到的各個模塊的詳細部分.
  • Proxy:對應啓動組件nginx,是一個nginx反向代理.Harbor的registry,UI,token services等組件,都處在一個反向代理後邊,該代理負責未來自瀏覽器,docker clients的請求轉發到後端服務上
  • Registry:對應啓動組件registry.負責存儲Docker鏡像文件,以及處理Docker的push,pull等請求.Harbor對鏡像進行強制的訪問控制,Registry會將客戶端的每一個pull,push請求轉發到token服務來獲取有效的token.
  • Core services:Harbor的核心功能,主要包括3個服務:UI,Job services和Log collector.
    • UI:對應啓動組件harbor-ui.以圖像用戶界面的方式,輔助用戶管理鏡像,我我的以爲這樣使得使用Harbor時,更加友好.
    • Job services:對應啓動組件harbor-jobservice,主要用於鏡像複製,和registry通訊,本地鏡像能夠push到Harbor鏡像倉庫中,一樣也能夠從Harbor鏡像倉庫中pull到本地,同時記錄job_log.
    • Log collector:對應啓動組件harbor-log.負責收集其餘模塊的日誌到一個地方
  • Database:對應啓動組件harbor-db.負責存儲project,user,role,replication等的metadata數據.
  • adminserver:對應啓動組件harbor-adminserver.是系統的配置管理中心,當ui和jobserver啓動時,須要加載adminserver的配置
  • 大概就介紹到這裏了,感謝您的閱讀~後端

    相關文章
    相關標籤/搜索