Harbor安裝配置教程


介紹

引用https://www.oschina.net/p/harbor?hmsr=aladdin1e1

Harbor 是由 VMware 公司中國團隊為企業用戶設計的 Registry server 開源項目,包括了權限管理(RBAC)、LDAP、審計、管理界面、自我注冊、HA 等企業必需的功能,同時針對中國用戶的特點,設計鏡像復制和中文支持等功能。

作為一個企業級私有 Registry 服務器,Harbor 提供了更好的性能和安全。提升用戶使用 Registry 構建和運行環境傳輸鏡像的效率。Harbor 支持安裝在多個 Registry 節點的鏡像資源復制,鏡像全部保存在私有 Registry 中, 確保數據和知識產權在公司內部網絡中管控。另外,Harbor 也提供了高級的安全特性,諸如用戶管理,訪問控制和活動審計等。

  • 基於角色的訪問控制 - 用戶與 Docker 鏡像倉庫通過“項目”進行組織管理,一個用戶可以對多個鏡像倉庫在同一命名空間(project)里有不同的權限。

  • 鏡像復制 - 鏡像可以在多個 Registry 實例中復制(同步)。尤其適合於負載均衡,高可用,混合雲和多雲的場景。

  • 圖形化用戶界面 - 用戶可以通過瀏覽器來瀏覽,檢索當前 Docker 鏡像倉庫,管理項目和命名空間。

  • AD/LDAP 支持 - Harbor 可以集成企業內部已有的 AD/LDAP,用於鑒權認證管理。

  • 審計管理 - 所有針對鏡像倉庫的操作都可以被記錄追溯,用於審計管理。

  • 國際化 - 已擁有英文、中文、德文、日文和俄文的本地化版本。更多的語言將會添加進來。

  • RESTful API - RESTful API 提供給管理員對於 Harbor 更多的操控, 使得與其它管理軟件集成變得更容易。

  • 部署簡單 - 提供在線和離線兩種安裝工具, 也可以安裝到 vSphere 平台(OVA 方式)虛擬設備。

基礎准備

Harbor
需要在Docker與Docker-compose組件上運行

安裝docker

https://www.cnblogs.com/iXiAo9/p/13627801.html

安裝docker-compose

下載harbor

https://github.com/goharbor/harbor/releases
選擇一個版本,這里做實驗使用最新版。
生產環境請使用穩定版

安裝harbor

上傳到服務器上,進行解壓操作

tar xvf harbor-offline-installer-v2.1.0-rc2.tgz

配置文件修改

拷貝配置文件樣板

cp harbor.yml.tmpl harbor.yml

修改hostname為服務器ip

並注釋掉https目前先不配置證書

每次修改配置文件的后都要重新執行prepare否則配置文件不生效

第一次安裝就不需要執行了

啟動harbor

執行啟動腳本,會自動load鏡像並更新變量

./install.sh

查看一下當前輸出

[Step 0]: checking if docker is installed ...

Note: docker version: 18.09.9

[Step 1]: checking docker-compose is installed ...

Note: docker-compose version: 1.25.0

[Step 2]: loading Harbor images ...

70379f503788: Loading layer [==================================================>]   34.5MB/34.5MB
9c1567ed7ed1: Loading layer [==================================================>]   7.91MB/7.91MB
f0de3a025b59: Loading layer [==================================================>]  3.584kB/3.584kB
cfeb48785a32: Loading layer [==================================================>]   2.56kB/2.56kB
f1a2786f08dc: Loading layer [==================================================>]  62.26MB/62.26MB
50069e2f2d36: Loading layer [==================================================>]  63.08MB/63.08MB
...
...
...
[Step 3]: preparing environment ...

[Step 4]: preparing harbor configs ...
prepare base dir is set to /harbor
WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
Generated configuration file: /config/portal/nginx.conf
Generated configuration file: /config/log/logrotate.conf
Generated configuration file: /config/log/rsyslog_docker.conf
Generated configuration file: /config/nginx/nginx.conf
Generated configuration file: /config/core/env
Generated configuration file: /config/core/app.conf
Generated configuration file: /config/registry/config.yml
Generated configuration file: /config/registryctl/env
Generated configuration file: /config/registryctl/config.yml
Generated configuration file: /config/db/env
Generated configuration file: /config/jobservice/env
Generated configuration file: /config/jobservice/config.yml
Generated and saved secret to file: /data/secret/keys/secretkey
Successfully called func: create_root_cert
Generated configuration file: /compose_location/docker-compose.yml
Clean up the input dir



[Step 5]: starting Harbor ...
Creating network "harbor_harbor" with the default driver
Creating harbor-log ... done
Creating harbor-portal ... done
Creating redis         ... done
Creating registry      ... done
Creating registryctl   ... done
Creating harbor-db     ... done
Creating harbor-core   ... done
Creating harbor-jobservice ... done
Creating nginx             ... done
✔ ----Harbor has been installed and started successfully.----

配置harbor用戶

賬號和密碼可以在配置文件中修改
harbor默認賬號admin

默認密碼Harbor12345

登陸后左側找到系統管理 > 用戶管理 > 添加用戶

添加一個名為docker的用戶

根據情況是否設置為管理員

管理員用戶擁有創建倉庫和刪除鏡像的權限

普通用戶擁有上傳鏡像和拉取鏡像權限 無法刪除倉庫和鏡像

鏡像倉庫需要添加指定用戶才能使用這個庫

選擇默認鏡像倉庫為例子

找到成員選項

剛剛添加名為docker的用戶 不在這個里面所以沒有任何權限

這個項目中沒有權限上傳容器鏡像到這個倉庫里面

選擇添加用戶 並選擇名為docker的用戶即可

配置docker

因為沒有使用SSL驗證所以需要配置docker忽略ssl驗證,否則無法上傳容器鏡像。

找到docker.service

我的docker配置文件在

vim /usr/lib/systemd/system/docker.service

添加選項
--insecure-registry

[Unit]
Description=Docker Application Container Engine
Documentation=https://docs.docker.com
After=network-online.target firewalld.service
Wants=network-online.target

[Service]
Type=notify
ExecStart=/usr/bin/dockerd \
    --insecure-registry=http://172.16.45.9
ExecReload=/bin/kill -s HUP $MAINPID
LimitNOFILE=infinity
LimitNPROC=infinity
TimeoutStartSec=0
Delegate=yes
KillMode=process
Restart=on-failure
StartLimitBurst=3
StartLimitInterval=60s

[Install]
WantedBy=multi-user.target

配置完畢后

systemctl daemon-reload
systemctl restart  docker

docker登陸harbor

docker login http://192.168.1.7

輸入剛剛創建的docker用戶和密碼

SSL配置


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM