容器鏡像倉庫Harbor安裝部署及簡單使用

    在實際生產中,容器鏡像需要放在本地,本地需要建立一個容器鏡像倉庫存放相關的鏡像,并且能夠根據(jù)不同賬號設置不同的鏡像使用權限,另外,這個倉庫最好還能通過web管理界面能夠很好的進行管理,比如設置權限、刪除鏡像、管理鏡像空間等等 。

創(chuàng)新互聯(lián)公司主要從事成都網站制作、成都做網站、網頁設計、企業(yè)做網站、公司建網站等業(yè)務。立足成都服務棗陽,10年網站建設經驗,價格優(yōu)惠、服務專業(yè),歡迎來電咨詢建站服務:028-86922220

    Habor是由VMWare公司開源的容器鏡像倉庫。官方地址:https://vmware.github.io/harbor/cn/

    

    Harbor主要功能 


    1. 基于角色訪問控制(RBAC)

    在企業(yè)中,通常有不同的開發(fā)團隊負責不同的項目,鏡像像代碼一樣,每個人角色不同需求也不同,因此就需要訪問權限控制,根據(jù)角色分配相應的權限。

例如,開發(fā)人員需要對項目構建這就用到讀寫權限(push/pull),測試人員只需要讀權限(pull),運維一般管理鏡像倉庫,具備權限分配能力,項目經理具有所有權限。

在Harbor中,有三種角色:


容器鏡像倉庫Harbor安裝部署及簡單使用

    Guest:對指定項目只讀權限

    Developer:開發(fā)人員,讀寫項目的權限

    Admin:項目管理,所有權限

    Anonymous:當用戶未登錄時,該用戶視為匿名用戶。匿名用戶不能訪問私有項目,只能訪問公開項目 

    2. 鏡像復制

    

    可以將倉庫中的鏡像同步到遠程的Harbor,類似于MySQL主從同步功能。

    

    3. LDAP

    

    Harbor支持LDAP認證,可以很輕易接入已有的LDAP。

    

    4. 鏡像刪除和空間回收

    

    Harbor支持在Web刪除鏡像,回收無用的鏡像,釋放磁盤空間。

    

    5. 圖形頁面管理

    

    用戶很方面搜索鏡像及項目管理。

    

    6. 審計

    

    對倉庫的所有操作都有記錄。

    

    7. REST API

    

    完整的API,方便與外部集成

Harbor組件

組件功能
harbor-adminserver配置管理中心
harbor-dbMysql數(shù)據(jù)庫
harbor-jobservice負責鏡像復制
harbor-log記錄操作日志
harbor-uiWeb管理頁面和API
nginx前端代理,負責前端頁面和鏡像上傳/下載轉發(fā)
redis會話
registry鏡像存儲

    

Harbor部署

硬件、軟件、端口要求如下,以下圖片來自網絡:

容器鏡像倉庫Harbor安裝部署及簡單使用

    我使用的是2核CPU、4G內存、40G的pve虛擬機一臺,如下配置:

容器鏡像倉庫Harbor安裝部署及簡單使用

    

    Harbor安裝有3種方式:

    在線安裝:從Docker Hub下載Harbor相關鏡像

    離線安裝:安裝包包含部署的相關鏡像

    OVA安裝程序:當用戶具有vCenter環(huán)境時,使用此安裝程序,在部署OVA后啟動Harbor

    

    這里采用離線安裝,首先下載離線安裝包:https://github.com/vmware/harbor/releases

容器鏡像倉庫Harbor安裝部署及簡單使用

HTTP方式部署

基本配置:

# tar xzvf harbor-offline-installer-v1.7.1.tgz 
# cd harbor
# vi harbor.cfg
hostname = 192.168.1.44   # IP地址或者域名訪問
ui_url_protocol = http
harbor_admin_password = 123456  # Web登錄密碼
準備配置文件:
# ./prepare
安裝并啟動Harbor:
./install.sh
會提示需要安裝docker 和 docker-compose 
# yum install docker docker-client docker-common
其中docker-compose需要用到epel源:
# yum install epel-release -y
# yum install -y docker-compose
再次執(zhí)行install.sh

安裝完成后:

容器鏡像倉庫Harbor安裝部署及簡單使用

查看運行狀態(tài):

[root@localhost harbor]# docker-compose ps
       Name                     Command               State               Ports            
-------------------------------------------------------------------------------------------
harbor-adminserver   /harbor/start.sh                 Up                                   
harbor-core          /harbor/start.sh                 Up                                   
harbor-db            /entrypoint.sh postgres          Up      5432/tcp                     
harbor-jobservice    /harbor/start.sh                 Up                                   
harbor-log           /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp    
harbor-portal        nginx -g daemon off;             Up      80/tcp                       
nginx                nginx -g daemon off;             Up      0.0.0.0:443->443/tcp,        
                                                              0.0.0.0:4443->4443/tcp,      
                                                              0.0.0.0:80->80/tcp           
redis                docker-entrypoint.sh redis ...   Up      6379/tcp                     
registry             /entrypoint.sh /etc/regist ...   Up      5000/tcp                     
registryctl          /harbor/start.sh                 Up

登錄web界面:

容器鏡像倉庫Harbor安裝部署及簡單使用

賬號 admin,密碼就是在harbor.cfg配置文件里面設置的123456 

容器鏡像倉庫Harbor安裝部署及簡單使用

    接下來就是簡單使用,可以看到,harbor方便了管理,一般3類用戶就夠了,進行一個簡單測試,新建一個開發(fā)用戶,然將這個開發(fā)用戶綁定到library項目,用這個用戶登陸harbor推送和下載鏡像。

    具體的建用戶過程就不詳細寫了,新建一個用戶ywb,登陸,

容器鏡像倉庫Harbor安裝部署及簡單使用

    系統(tǒng)會提示推送鏡像需要運行的命令,還是很人性化的。

    在客戶端執(zhí)行:

    docker login 192.168.1.44

    會報錯https://192.168.1.44   connection refuse ,是因為docker 默認使用的是https連接,我們上面使用的是http安裝,需要修改 /etc/docker/daemon.json文件,加入如下內容:

    {"insecure-registries":["192.168.1.44:80"]}

    或者,在 /etc/sysconfig/docker 配置文件的 OPTIONS 選項中增加一個選項:

    --insecure-registry=192.168.1.44 

    之后對docker進行重啟:

    systemctl restart docker

    測試過程:

    1、下載一個tomcat 鏡像:   

    docker pull tomcat

    2、對這個鏡像進行標記:

    docker tag docker.io/tomcat 192.168.1.44/library/tomcat

    3、登錄harbor這個registry: 

    docker login 192.168.1.44

    輸入上面創(chuàng)建的賬號密碼。

    4、上傳這個鏡像:

    docker push 192.168.1.44/library/tomcat

    

    最后使用個人賬號登錄web界面,可以看到鏡像成功上傳:

    容器鏡像倉庫Harbor安裝部署及簡單使用

總結:

    Harbor的安裝使用都是很方便的,部署方式本身也是通過docker和容器編排docker-compose 實現(xiàn) ,主要解決了局域網內的容器鏡像管理問題。

    這里沒有使用https的方式部署,使用的是http方式,其中需要注意客戶端docker中需要配置對“非安全” http的支持,加入--inscure-registry  參數(shù)的支持。

    Harbor產品本身解決了本地局域網內部集中管理容器鏡像的問題,如果是生產環(huán)境,可以考慮再加入同步復制的功能以確保數(shù)據(jù)的安全性,這里就不展開說,我也沒用到,用到的時候再說。

    

    

    

    

網站名稱:容器鏡像倉庫Harbor安裝部署及簡單使用
URL鏈接:http://bm7419.com/article2/iihcoc.html

成都網站建設公司_創(chuàng)新互聯(lián),為您提供服務器托管、網站改版網站排名、動態(tài)網站、軟件開發(fā)搜索引擎優(yōu)化

廣告

聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

營銷型網站建設