您好,登錄后才能下訂單哦!
這篇文章主要介紹“harbor可視化私有鏡像倉庫環境及服務怎么部署”,在日常操作中,相信很多人在harbor可視化私有鏡像倉庫環境及服務怎么部署問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”harbor可視化私有鏡像倉庫環境及服務怎么部署”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
在實際生產運維中,往往需要把鏡像發布到幾十、上百或更多的節點上。這時單臺 Docker 主機上鏡像已無法滿足,項目越來越多,鏡像越來越多,都放到一臺 Docker 主機上是不行的,我們需要一個鏡像Git倉庫一樣系統來統一管理鏡像。這里介紹的是一個企業級鏡像倉庫Harbor,將作為我們容器云平臺的鏡像倉庫中心。
Harbor 是有 VMware 工資開源的容器鏡像倉庫。事實上,Harbor 是在Docker Rgestry 上進行了相應的企業擴展,從而獲得了更加廣泛的應用,這些新的企業級特性包括:管理用戶界面,基于角色的訪問控制,AD/LDAP 集成以及審計日志等,足以滿足基本企業需求。
Harbor 和 Registry 都是 Docker 的鏡像倉庫,但是 Harbor 作為更多企業的選擇,是因為相比較于 Registry 來說,它具有很多的優勢。
提供分層傳輸機制,優化網絡傳輸
Docker 鏡像是分層的,而如果每次傳輸都使用全量文件(所以用FTP的方式不適合),顯然不經濟。必須提供識別分層傳輸的機制,以UUID 為標識,確定傳輸的對象。
提供 WEB 界面,優化用戶體驗
只用鏡像的名字來進行上傳下載顯然很不方便,需要有一個用戶界面可以支持登錄、搜索功能,包括區分公有、私有鏡像
支持水平擴展集群
當前用戶對鏡像的上傳下載操作集中在某服務器,需要對相應的訪問壓力作分解。
良好的安全機制
企業中的開發團隊有很多不同的職位,對于不同的職位人員,分配不同的權限,具有更好的安全性
Harbor 提供了基于角色的訪問控制機制,并通過項目來對鏡像進行組織和訪問權限的控制。kubernetes 中通過 namespace 來對資源進行隔離,在企業級應用場景中,通過將兩者進行結合可以有效將 kubernetes 使用的鏡像資源進行管理和訪問控制,增強鏡像使用的安全性。尤其在多租戶場景下,可以通過租戶、namespace 和項目相結合的方式來實現對租戶鏡像資源的管理。
準備兩臺服務器,且均已部署 docker 服務
主機名 | 服務 | IP |
---|---|---|
harbor-client | 客戶端(用于上傳鏡像) | 192.168.117.130 |
harbor-server | 服務端(用于存儲鏡像) | 192.168.117.131 |
harbor-server 部署
#下載 epel-release 源 [root@harbor-server ~]# yum install -y epel-release #下載 python 軟件包管理系統 [root@harbor-server ~]# yum install -y python-pip #更新 pip 安裝包 [root@harbor-server ~]# pip install --upgrade pip #安裝 docker-compose (docker 的編排工具) [root@harbor-server ~]# pip install docker-compose #下載 harbor 安裝包并解壓(github 上下載) [root@harbor-server ~]# yum install -y wget [root@harbor-server ~]# wget https://github.com/goharbor/harbor/releases/download/v2.1.1/harbor-offline-installer-v2.1.1.tgz [root@harbor-server ~]# tar xf harbor-offline-installer-v2.1.1.tgz #修改 harbor 的配置文件 [root@harbor-server ~]# mv harbor/harbor.yml.tmpl /harbor/harbor.yml [root@harbor-server ~]# vim harbor/harbor.yml hostname: 192.168.117.131 #本機 IP #注釋掉以下內容 # https related config # https: # # https port for harbor, default is 443 # port: 443 # # The path of cert and key files for nginx # certificate: /your/certificate/path # private_key: /your/private/key/path #執行 harbor 安裝腳本 [root@localhost harbor]# ./harbor/install.sh ……略…… ? ----Harbor has been installed and started successfully.---- #查看 harbor 的用戶和密碼 [root@localhost ~]# cat harbor/harbor.yml | grep admin # The IP address or hostname to access admin UI and registry service. # The initial password of Harbor admin # Remember Change the admin password from UI after launching Harbor. harbor_admin_password: Harbor12345
瀏覽器訪問 http://192.168.117.131:80 并登錄 harbor
新建項目
填寫項目名稱、分配存儲容量,該項目訪問級別如果沒有公開,在上傳鏡像時需要先登錄 harbor
harbor-client 上傳鏡像到 harbor
#修改 daemon.json 配置文件 [root@harbor-client ~]# vim /etc/docker/daemon.json { "registry-mirrors": ["https://3290299n.mirror.aliyuncs.com"], #注:上下兩行用 “,” 分割 #添加下面的參數即可,docker-server 端IP和端口 "insecure-registries":["192.168.117.131:80"] } #重啟 docker 服務 [root@harbor-client ~]# systemctl restart docker #修改 tomcat 鏡像名稱:項目名稱/鏡像名稱:標簽 [root@harbor-client ~]# docker tag tomcat 192.168.117.131:80/tomcat/tomcat:harbor #項目 tomcat 沒有公開所以先登錄 harbor,在上傳鏡像 [root@harbor-client ~]# docker login 192.168.117.131:80 Username: admin Password: Harbor12345 [root@harbor-client ~]# docker push 192.168.117.131:80/tomcat/tomcat:harbor
瀏覽器訪問 harbor,查看 tomcat 項目下是否有剛剛上傳的鏡像
瀏覽器訪問 harbor,點擊 tomcat 項目、tomcat鏡像,復制拉去命令在本地執行即可
#項目 tomcat 沒有公開所以先登錄 harbor,在拉取鏡像 [root@harbor-client ~]# docker login 192.168.117.131:80 Username: admin Password: Harbor12345 #鏡像拉去成功 [root@harbor-client ~]# docker pull 192.168.117.131:80/tomcat/tomcat@sha256:d9097a2878b148ddbdd69346dd902b55be74cf4271e1ac45a3bfb5273f93c181 sha256:d9097a2878b148ddbdd69346dd902b55be74cf4271e1ac45a3bfb5273f93c181: Pulling from tomcat/tomcat Digest: sha256:d9097a2878b148ddbdd69346dd902b55be74cf4271e1ac45a3bfb5273f93c181 Status: Downloaded newer image for 192.168.117.131:80/tomcat/tomcat@sha256:d9097a2878b148ddbdd69346dd902b55be74cf4271e1ac45a3bfb5273f93c181 192.168.117.131:80/tomcat/tomcat@sha256:d9097a2878b148ddbdd69346dd902b55be74cf4271e1ac45a3bfb5273f93c181 #查看鏡像 [root@harbor-client ~]# docker images REPOSITORY TAG IMAGE ID CREATED SIZE tomcat latest 6fa48e047721 10 months ago 507MB 192.168.117.131:80/tomcat/tomcat <none> 6fa48e047721 10 months ago 507MB
以上就是harbor可視化私有鏡像倉庫環境及服務部署示例的詳細內容,更多關于harbor可視化私有鏡像倉庫環境部署的資料請關注億速云其它相關文章!
到此,關于“harbor可視化私有鏡像倉庫環境及服務怎么部署”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。