私有鏡像倉庫Harbor基礎介紹與部署

企業級私有鏡像倉庫Harbor
一:介紹前端

Harbor,是一個英文單詞,意思是港灣,港灣是幹什麼的呢,就是停放貨物的,而貨物呢,是裝在集裝箱中的,說到集裝箱,就不得不提到Docker容器,由於docker容器的技術正是借鑑了集裝箱的原理。因此,Harbor正是一個用於存儲Docker鏡像的企業級Registry服務。
Registry是Docker官方的一個私有倉庫鏡像,能夠將本地的鏡像打標籤進行標記而後push到以Registry起的容器的私有倉庫中。企業能夠根據本身的需求,使用Dokcerfile生成本身的鏡像,並推到私有倉庫中,這樣能夠大大提升拉取鏡像的效率。

二:Harbor核心組件解釋mysql

Proxy:他是一個nginx的前端代理,代理Harbor的registry,UI, token等服務。
db:負責儲存用戶權限、審計日誌、Dockerimage分組信息等數據。
UI:提供圖形化界面,幫助用戶管理registry上的鏡像, 並對用戶進行受權。
jobsevice:jobsevice是負責鏡像複製工做的,他和registry通訊,從一個registry pull鏡像而後push到另外一個registry,並記錄job_log。
Adminserver:是系統的配置管理中心附帶檢查存儲用量,ui和jobserver啓動時候回須要加載adminserver的配置。
Registry:鏡像倉庫,負責存儲鏡像文件。
Log:爲了幫助監控Harbor運行,負責收集其餘組件的log,供往後進行分析。

三:Harbor和Registry的比較linux

Harbor和Registry都是Docker的鏡像倉庫,可是Harbor做爲更多企業的選擇,是由於相比較於Regisrty來講,它具備不少的優點。
1.提供分層傳輸機制,優化網絡傳輸
Docker鏡像是是分層的,而若是每次傳輸都使用全量文件(因此用FTP的方式並不適合),顯然不經濟。必須提供識別分層傳輸的機制,以層的UUID爲標識,肯定傳輸的對象。
2.提供WEB界面,優化用戶體驗
只用鏡像的名字來進行上傳下載顯然很不方便,須要有一個用戶界面能夠支持登錄、搜索功能,包括區分公有、私有鏡像。
3.支持水平擴展集羣
當有用戶對鏡像的上傳下載操做集中在某服務器,須要對相應的訪問壓力做分解。
4.良好的安全機制
企業中的開發團隊有不少不一樣的職位,對於不一樣的職位人員,分配不一樣的權限,具備更好的安全性。
5.Harbor提供了基於角色的訪問控制機制,並經過項目來對鏡像進行組織和訪問權限的控制。kubernetes中經過namespace來對資源進行隔離,在企業級應用場景中,經過將二者進行結合能夠有效將kubernetes使用的鏡像資源進行管理和訪問控制,加強鏡像使用的安全性。尤爲是在多租戶場景下,能夠經過租戶、namespace和項目相結合的方式來實現對多租戶鏡像資源的管理和訪問控制。nginx

1、下載離線Harbor安裝包git

Harbor官方下載:https://github.com/goharbor/harborgithub

進入首頁,下面是Harbor的介紹
私有鏡像倉庫Harbor基礎介紹與部署
進行下載
私有鏡像倉庫Harbor基礎介紹與部署sql

咱們下載部署的硬件要求:
私有鏡像倉庫Harbor基礎介紹與部署
選擇release,找到歷史版本
私有鏡像倉庫Harbor基礎介紹與部署
私有鏡像倉庫Harbor基礎介紹與部署
在線的通常是國外的源有可能會出現問題,建議
通常下載離線安裝包:hatbor-offine-installer-v1.81.tgzdocker

下載好上傳咱們的根目錄json

[root@harbor-mysql ~]# ls
anaconda-ks.cfg                      initial-setup-ks.cfg  模板  圖片  下載  桌面
harbor-offline-installer-v1.8.1.tgz  公共                  視頻  文檔  音樂

2、安裝Dockervim

這裏是Centos7安裝方式,ce版本是最新的社區版
安裝依賴包

$ sudo yum install -y yum-utils \
  device-mapper-persistent-data \
  lvm2

添加Docker軟件包源

$ sudo yum-config-manager \
    --add-repo \
    https://download.docker.com/linux/centos/docker-ce.repo

安裝Docker-ce

$ sudo yum install docker-ce
啓動Docker

默認是國外的源,下載會很慢,建議配置國內鏡像倉庫
建議使用daocloud的加速器
該腳本能夠將 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中

curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io
啓動Docker
$ sudo systemctl start docker

3、下載安裝docker-compose
Docker-compose文檔地址https://docs.docker.com/compose/install/

[root@harbor-mysql ~]# curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose
[root@harbor-mysql ~]# chmod +x /usr/local/bin/docker-compose
[root@harbor-mysql ~]# docker-compose --version
docker-compose version 1.24.1, build 4667896b

4、部署Harbor服務

[root@harbor-mysql ~]# tar xf harbor-offline-installer-v1.8.1.tgz -C /usr/local
[root@harbor-mysql ~]# cd /usr/local/harbor/
[root@harbor-mysql harbor]# ls
harbor.v1.8.1.tar.gz  harbor.yml  install.sh  LICENSE  prepare
[root@harbor-mysql harbor]# vim harbor.yml
修改配置文件yml,修改安裝的ip地址
Hostname : 192.168.30.24:80

啓動並安裝Harbor
配置完成後就能夠啓動Harbor了
私有鏡像倉庫Harbor基礎介紹與部署
查看Harbor 啓動鏡像
私有鏡像倉庫Harbor基礎介紹與部署
若是一切正常,應該能夠打開瀏覽器訪問:http://192.168.30.24的管理頁面,管理用戶名是admin 密碼爲Harbor12345
私有鏡像倉庫Harbor基礎介紹與部署
建立項目名稱
私有鏡像倉庫Harbor基礎介紹與部署

相關文章
相關標籤/搜索