ubuntu?22.04安裝harbor的詳細過程
一、概述
Harbor 是一個企業(yè)級的云原生容器鏡像倉庫,由 VMware 開發(fā)并貢獻給 Cloud Native Computing Foundation (CNCF)。它在傳統(tǒng)的 Docker Registry 基礎上進行了增強,提供了許多企業(yè)級功能,如安全、訪問控制、鏡像簽名、漏洞掃描等。
主要功能
安全性與漏洞掃描
集成 Clair 或 Trivy 等安全工具,自動掃描鏡像中的安全漏洞,確保鏡像的安全性。
支持鏡像簽名和內容信任,確保鏡像的完整性和可信度。
訪問控制
提供基于角色的訪問控制(RBAC),確保不同用戶在倉庫中的操作權限得到精確控制。
支持與 LDAP/AD 集成,實現(xiàn)統(tǒng)一的身份驗證和權限管理。
鏡像管理
支持鏡像的存儲、分發(fā)和管理,包括鏡像的上傳、下載、刪除等操作。
提供鏡像復制功能,支持跨多個 Harbor 實例或其他 Docker 注冊表的鏡像同步。
支持垃圾回收和存儲配額管理,優(yōu)化存儲資源。
多租戶支持
通過項目隔離機制,支持多租戶環(huán)境下的鏡像管理。
Web 界面與 API
提供直觀的 Web 界面,方便用戶進行鏡像管理、項目管理、用戶管理等操作。
提供 RESTful API,支持自動化和集成,便于與 CI/CD 流水線對接。
高可用性
支持多節(jié)點部署,確保鏡像倉庫的持續(xù)可用。
架構
Harbor 的架構分為三個主要層級:
數(shù)據(jù)訪問層
K-V 存儲:由 Redis 組成,提供數(shù)據(jù)緩存功能。
數(shù)據(jù)庫:存儲用戶、項目、權限等元數(shù)據(jù),通常使用 PostgreSQL。
對象存儲:支持多種存儲后端(如文件系統(tǒng)、S3、Ceph),用于存儲實際的鏡像層。
基礎服務
核心服務:處理用戶身份驗證、項目和鏡像管理,以及任務調度。
Job Service:負責異步任務的處理,如鏡像復制和漏洞掃描。
Notary:提供鏡像簽名和驗證功能。
Clair/Trivy:負責鏡像的安全漏洞掃描。
Web UI
提供用戶友好的界面,方便用戶進行鏡像和項目的管理。
應用場景
容器化應用開發(fā)與部署
開發(fā)人員可以將構建好的鏡像推送到 Harbor 中進行存儲和管理,運維人員可以從 Harbor 中拉取鏡像部署到生產(chǎn)環(huán)境。
多環(huán)境鏡像分發(fā)
支持鏡像在不同環(huán)境(如開發(fā)、測試、生產(chǎn))之間的分發(fā)和同步,確保版本一致性。
容器鏡像安全管理
通過漏洞掃描和訪問控制功能,確保鏡像的安全性和合規(guī)性。
Harbor 為企業(yè)提供了全面的容器鏡像管理解決方案,滿足企業(yè)在安全性、可靠性和可擴展性方面的需求。
二、安裝
前置條件
硬件
最低硬件要求
CPU:2核
內存:4GB
磁盤:40GB
推薦硬件配置
CPU:4核
內存:8GB
磁盤:160GB
軟件
確保已經(jīng)安裝了docker,docker-compose,參考文檔:https://www.cnblogs.com/xiao987334176/p/18809253
下載最新版本的安裝包
https://github.com/goharbor/harbor/releases
下載最新在線安裝包,得到文件harbor-offline-installer-v2.12.2.tgz
解壓文件
cd /data/ tar zxvf harbor-offline-installer-v2.12.2.tgz
復制配置文件
cd harbor/ cp harbor.yml.tmpl harbor.yml
修改以下配置,主要修改端口,證書,數(shù)據(jù)目錄
hostname: harbor.qq.com http: port: 8082 https: port: 8083 # The path of cert and key files for nginx certificate: /data/harbor/cert/qq.com.pem private_key: /data/harbor/cert/qq.com.key # The default data volume data_volume: /data/harbor
參數(shù)說明:
hostname,訪問主機名,必須要設置,否則無法安裝
http,設置http訪問的端口,由于端口被占用了,所以改成了8082
https,設置https訪問的端口,由于端口被占用了,所以改成了8083
certificate,private_key,這2個是配置SSL證書的。因為公司花錢買了通配符的SSL證書,能匹配所有域名,直接拿來用了。
如果你沒有SSL證書,可以不做配置,把https部分注釋掉即可。
data_volume,數(shù)據(jù)存放目錄,建議放到一個比較大的磁盤空間里面。
本地安裝
bash prepare bash install.sh
安裝完成后在本地生成docker-compose.yml文件,此時可以啟動harbor服務;
docker-compose up -d
訪問域名
https://harbor.qq.com:8083/
初始的默認用戶是admin,密碼是Harbor12345
登錄之后,可以修改密碼。
登錄之后效果如下:
三、使用項目
新建一個項目,比如dify
訪問級別,如果勾選公開,那么所有人可以在不登錄的情況下,下載鏡像。慎重選擇,這里不勾選。
用戶
一般,我們會創(chuàng)建一個普通用戶,來進行鏡像的下載和上傳。 而不是直接用管理員賬戶admin
點擊用戶管理,創(chuàng)建用戶
創(chuàng)建一個用戶devops,注意密碼必須符合密碼復雜性要求的
如果設置密碼比較糾結,可以找一個在線生成的,比如:https://www.strongpasswordgenerator.org/zh-cn/
進入項目dify,添加成員
添加成員devops,設置為項目管理員
四、鏡像推送
首先修改docker配置/etc/docker/daemon.json,增加harbor地址
"insecure-registries": ["harbor.qq.com:8083"]
修改完成后,重啟docker
systemctl restart docker
比如將nginx鏡像推送到項目dify
先登錄到harbor
# docker login harbor.qq.cn:8083 user:devops password: Login Succeeded
下載nginx鏡像
docker pull nginx:latest
推送鏡像
docker tag nginx:latest harbor.qq.com:8083/dify/nginx:latest docker push harbor.qq.com:8083/dify/nginx:latest
查看鏡像是否存在
五、鏡像清理
比如java項目經(jīng)常更新迭代,那么harbor里面會產(chǎn)生很多鏡像。運行半年以上,可能harbor磁盤就會達到100G以上甚至更大。
但是一般情況下,很多很早的鏡像,沒有必要存儲,需要進行清理。比如:保留最近推送的10個鏡像。
harbor提供鏡像清理策略,進入項目策略,添加規(guī)則
保留最近推送的10個鏡像
添加定時器
設置為每周執(zhí)行
注意:項目里面的清理策略,刪除的鏡像會在回收站里面,所以還需要在回收站里面,進行徹底刪除。
點擊清理服務,設置為每周
這樣,鏡像就會徹底清理了,釋放磁盤空間!
到此這篇關于ubuntu 22.04安裝harbor的詳細過程的文章就介紹到這了,更多相關ubuntu 安裝harbor內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
解決docker run 或者 docker restart 啟動鏡像就自動退出
這篇文章主要介紹了解決docker run 或者 docker restart 啟動鏡像就自動退出的問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2020-11-11Docker運行鏡像以及退出、刪除容器的實現(xiàn)方式
這篇文章主要介紹了Docker運行鏡像以及退出、刪除容器的實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2025-03-03在 Ubuntu 下通過 Docker 部署 Mastodon&nbs
在Ubuntu系統(tǒng)上通過Docker部署Mastodon服務器的步驟,本文給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧2025-03-03Docker 解決容器時間與主機時間不一致的問題三種解決方案
這篇文章主要介紹了Docker 解決容器時間與主機時間不一致的問題的相關資料,這里提供了三種方法,供大家參考,需要的朋友可以參考下2016-12-12Docker Base Image自己創(chuàng)建具體實現(xiàn)
這篇文章主要介紹了Docker Base Image創(chuàng)建具體實現(xiàn)的相關資料,這里提供了詳細的具體步驟,需要的朋友可以參考下2016-11-11