站長(zhǎng)資訊網(wǎng)
        最全最豐富的資訊網(wǎng)站

        鏡像倉(cāng)庫(kù)Harbor解析

        一、Harbor特性介紹

        1. 基于角色訪(fǎng)問(wèn)控制

        每個(gè)人角色不同,需求也不同,因此就需要訪(fǎng)問(wèn)權(quán)限控制,根據(jù)角色分配相應(yīng)的權(quán)限。例如,開(kāi)發(fā)人員需要對(duì)項(xiàng)目構(gòu)建這就需要用到讀寫(xiě)權(quán)限(push/pull),測(cè)試人員只需要讀權(quán)限(pull),運(yùn)維一般管理鏡像倉(cāng)庫(kù),具備權(quán)限分配能力,項(xiàng)目經(jīng)歷具有所有權(quán)限。

        在 Harbor 中,有三種角色:

        (1)Guest:對(duì)指定項(xiàng)目有只讀權(quán)限。

        (2)Developer:開(kāi)發(fā),讀寫(xiě)項(xiàng)目的權(quán)限。

        (3)Admin:管理者,所有權(quán)限。

        Anonymous:當(dāng)用戶(hù)未登錄時(shí),該用戶(hù)被設(shè)為匿名用戶(hù)。匿名用戶(hù)不能訪(fǎng)問(wèn)私有項(xiàng)目,只能訪(fǎng)問(wèn)公開(kāi)項(xiàng)目。

        2. 鏡像復(fù)制

        可以將倉(cāng)庫(kù)中的鏡像同步到遠(yuǎn)程的 Harbor。

        3. LDAP

        Harbor 支持 LDAP 認(rèn)證,可以很輕易接入已有的 LDAP。

        4. 鏡像刪除和空間回收

        Harbor 支持在 Web 刪除鏡像,回收無(wú)用的鏡像,釋放磁盤(pán)空間。

        5. 圖形頁(yè)面管理

        用戶(hù)很方面搜索鏡像及項(xiàng)目管理

        6. 審計(jì)

        對(duì)倉(cāng)庫(kù)的所有操作都有記錄

        7. RESET API

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

        二、Harbor高可用方案介紹

        1. 共享存儲(chǔ)

        多個(gè)實(shí)例共享數(shù)據(jù),共享一個(gè)存儲(chǔ)。任何一個(gè)實(shí)例持久化存儲(chǔ)的鏡像,其它實(shí)例都可以讀取到,通過(guò)前置負(fù)載均衡分發(fā)請(qǐng)求。

        2. 復(fù)制同步

        利用其鏡像復(fù)制功能,實(shí)現(xiàn)雙向復(fù)制保持?jǐn)?shù)據(jù)一致,通過(guò)前置負(fù)載均衡分發(fā)請(qǐng)求。

        三、Harbor組件

        MODULE FUNCTION

        harbor-adminserver 配置管理中心

        harbor-db MySQL 數(shù)據(jù)庫(kù)

        harbor-jobservice 負(fù)責(zé)鏡像復(fù)制

        harbor-log 記錄操作日志

        harbor-ui Web 管理頁(yè)面和 API

        nginx 前端代理,負(fù)責(zé)前端頁(yè)面和鏡像上傳/下載轉(zhuǎn)發(fā)

        redis 會(huì)話(huà)

        registry 鏡像存儲(chǔ)

        四、Harbor部署

        Harbor有三種安裝方式

        (1)在線(xiàn)安裝:從 Docker Hub 下載 Harbor 相關(guān)鏡像,因此安裝軟件包非常小。

        (2)離線(xiàn)安裝:安裝包包含部署的相關(guān)鏡像,因此安裝包較大。

        (3)OVA安裝程序:當(dāng)用戶(hù)具有 vCenter 環(huán)境時(shí),使用此安裝程序,在部署 OVA 后啟動(dòng) Harbor。

        這里采用離線(xiàn)安裝 https://github.com/goharbor/harbor/releases

        既然部署私有 registry,那么無(wú)疑是在自建的私網(wǎng),達(dá)到便于管理,傳輸快速的目的。如果是異地的話(huà),是不建議自建 registry的,因?yàn)檫@樣的話(huà),反而更加慢。

        默認(rèn)情況下,Docker 請(qǐng)求 registry 時(shí)是使用 https 協(xié)議的,但我們?cè)谒骄W(wǎng)搭建 registry 通常是 http 協(xié)議的。因此等下需要給 Docker 指明要采用 http 協(xié)議。

        Harbor 在部署和使用時(shí)需要借助 Docker 的單機(jī)編排工具 Docker compose

        # yum install -y docker-compose

        切到解壓目錄,簡(jiǎn)單的修改一下配置文件,hostname 指明 harbor 地址,協(xié)議是 http,登錄密碼是 pwd@123。

        # tar -zxf harbor-offline-installer-v1.5.1.tgz

        # cd harbor/

        # vim harbor.cfg

        hostname = 192.168.5.155

        ui_url_protocol = http

        harbor_admin_password = pwd@123

        準(zhǔn)備配置文件

        # ./prepare

        安裝并啟動(dòng) harbor

        # ./install.sh

        查看運(yùn)行狀態(tài),部署完成

        # docker-compose ps

        Name Command State Ports

        ————————————————————————————————–

        harbor-adminserver /harbor/start.sh Up

        harbor-db /usr/local/bin/docker-entr … Up 3306/tcp

        harbor-jobservice /harbor/start.sh Up

        harbor-log /bin/sh -c /usr/local/bin/ … Up 127.0.0.1:1514->10514/tcp

        harbor-ui /harbor/start.sh Up

        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 serve /etc/ … Up 5000/tcp

        如果有非 Up 狀態(tài),就去看日志

        # ls /var/log/harbor/

        adminserver.log jobservice.log mysql.log proxy.log redis.log registry.log ui.log

        五、Harbor管理

        訪(fǎng)問(wèn) Harbor 地址 http://192.168.5.155 登錄到 Web 頁(yè)面

        libariy 項(xiàng)目是默認(rèn)自帶的,通常用這個(gè)存儲(chǔ)一些公共的鏡像,默認(rèn)情況下,這個(gè)項(xiàng)目下的鏡像誰(shuí)都可以 pull,但不能 push,push需要先登錄。

        接下來(lái),新建一個(gè) hello_harbor 項(xiàng)目,給用戶(hù) qkc 賦予 push 權(quán)限

        我這里搭建的 Harbor 是以 http 提供服務(wù)的,而 Docker Client 默認(rèn)是以 https 訪(fǎng)問(wèn)倉(cāng)庫(kù),所以要先配置可信任,否則對(duì)鏡像倉(cāng)庫(kù)的請(qǐng)求會(huì)非常蛋疼。

        # cat /etc/docker/daemon.json

        {

        "registry-mirrors": ["http://bc437cce.m.daocloud.io"],

        "insecure-registries": ["192.168.5.155"]

        }

        # systemctl restart docker

        注意 REPOSITORY 的這一列,如果鏡像只放在本地存儲(chǔ)的話(huà),REPOSITORY 寫(xiě)什么都可以,但推送到鏡像倉(cāng)庫(kù)就必須指定倉(cāng)庫(kù)中心地址。所以先重命名 REPOSITORY 為鏡像倉(cāng)庫(kù)服務(wù)器地址。

        $ docker images

        REPOSITORY TAG IMAGE ID CREATED SIZE

        tomcat8 v2 9ce8e9caec7b 6 hours ago 249MB

        tomcat8 latest 89365c870fc9 6 hours ago 244MB

        nginx v1 7788133766ea 7 hours ago 323MB

        nginx1.14 latest bcd632d57f44 7 hours ago 323MB

        centos latest 5182e96772bf 7 weeks ago 200MB

        在 Docker 主機(jī)上傳鏡像到 Harbor

        $ docker tag tomcat8:v2 192.168.5.155/hello_harbor/tomcat8:v2

        $ docker push 192.168.5.155/hello_harbor/tomcat8:v2

        在 Harbor 上查看鏡像

        下載鏡像

        $ docker pull 192.168.5.155/hello_harbor/tomcat8:v2

        $ docker images

        REPOSITORY TAG IMAGE ID CREATED SIZE

        192.168.5.155/hello_harbor/tomcat8 v2 9ce8e9caec7b 6 hours ago 249MB

        定期垃圾收集,釋放磁盤(pán)空間

        存儲(chǔ)庫(kù)刪除分為兩步:

        1. 第一步在 UI 中刪除:在 Harbor UI 中 刪除,這是標(biāo)記刪除,但是存儲(chǔ)庫(kù)的文件仍然保留在 Harbor 存儲(chǔ)中。

        2. 第二步執(zhí)行垃圾收集(GC):在執(zhí)行 GC 之間,確保沒(méi)人在推送鏡像或沒(méi)人訪(fǎng)問(wèn) Harbor。如果有人推送鏡像可能會(huì)錯(cuò)誤的刪除鏡像,從而導(dǎo)致鏡像損壞。因此在運(yùn)行 GC 之前,建議停止 Harbor。注意,啟動(dòng)的時(shí)候需要到 Harbor 的解壓目錄下進(jìn)行。

        啟動(dòng)一個(gè) GC 容器,并共享 registry 的數(shù)據(jù)卷,執(zhí)行程序?qū)υ摂?shù)據(jù)卷掃描清理

        # docker-compose stop

        # docker run -it –name gc –rm –volumes-from registry vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml

        # docker-compose start

        用戶(hù)配置及管理手冊(cè): https://github.com/goharbor/harbor/blob/master/docs/user_guide.md

        贊(0)
        分享到: 更多 (0)
        網(wǎng)站地圖   滬ICP備18035694號(hào)-2    滬公網(wǎng)安備31011702889846號(hào)
        主站蜘蛛池模板: 亚洲午夜精品一区二区| 精品国产婷婷久久久| 国产精品理论片在线观看| 亚洲AV永久青草无码精品| 国产福利精品视频自拍| 国产人妖乱国产精品人妖| 中文字幕精品一区| 久久久久国产日韩精品网站| 欧美性videofree精品| 国产成人精品无码片区在线观看| 亚洲人精品午夜射精日韩| 久久精品国产一区二区三区| 国产精品片在线观看手机版| japanese乱人伦精品| 欧美精品VIDEOSSEX少妇| 亚洲人成国产精品无码| 久久99亚洲综合精品首页| 99精品国产成人一区二区| 欧美成人精品一级高清片| 国产精品欧美久久久天天影视| 国产精品后入内射日本在线观看| 亚洲国产精品无码专区| 热综合一本伊人久久精品| 日本精品一区二区三区四区| 精品国产国产综合精品| 黑人无码精品又粗又大又长| 国产精品免费久久久久电影网| 亚洲精品电影网| 久久精品国产一区| 国产精品视频a播放| 国语精品一区二区三区| 亚洲国产成人精品女人久久久 | 日韩精品欧美国产在线| 国产三级精品三级| 国产欧美精品一区二区色综合| 国产精品国产AV片国产| 成人精品一区二区三区电影黑人 | 99热精品在线观看| 精品一区二区三区四区| 99久久精品免费看国产免费| 国产精品99精品视频网站|