zoukankan      html  css  js  c++  java
  • kubernetes-部署harbor

    Habor是由VMWare中国团队开源的容器镜像仓库。事实上,Habor是在Docker Registry上进行了相应的企业级扩展,从而获得了更加广泛的应用,这些新的企业级特性包括:管理用户界面,基于角色的访问控制 ,水平扩展,同步,AD/LDAP集成以及审计日志等。
     
    一、部署Harbor
    1: 安装docker-compose
    1 [root@node2 ~]# curl -L https://github.com/docker/compose/releases/download/1.17.0-rc1/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
    2 [root@node2 ~]# chmod 755 !$
    3 [root@node2 ~]# docker-compose -v docker-compose
    4 version 1.17.0-rc1, build a0f95af

     2:下载harbor

    GitHub下载地址:https://github.com/goharbor/harbor/releases

    harbor下载地址:http://harbor.orientsoft.cn/

    1 [root@node2 src]# wget http://harbor.orientsoft.cn/harbor-v1.5.0/harbor-offline-installer-v1.5.0.tgz
    2 [root@node2 src]# tar zxvf harbor-offline-installer-v1.5.0.tgz

    3:准备ca证书

    手动生成证书:https://www.cnblogs.com/douyi/p/11600719.html(参考1-5步骤即可)

    注册免费证书:https://freessl.org/

    4:配置harbor参数
    [root@node2 src]# cd harbor
    [root@node2 src]# vim harbor.cfg
    修改下面的参数
    hostname = harbor.test.com ##定义你的域名或者IP地址
    ui_url_protocol = https ##定义访问方式
    ssl_cert = /usr/local/src/server.crt ##定义证书crt的路径
    ssl_cert_key = /usr/local/src/server.key ##定义证书key的路径
    harbor_admin_password = harbor123 ##定义harbor管理员的密码
     
    5:执行安装harbor
    [root@node2 src]# sh install.sh
      1 [Step 0]: checking installation environment ...
      2 
      3 Note: docker version: 18.09.6
      4 
      5 Note: docker-compose version: 1.17.0
      6 
      7 [Step 1]: loading Harbor images ...
      8 52ef9064d2e4: Loading layer [==================================================>]  135.9MB/135.9MB
      9 c169f7c7a5ff: Loading layer [==================================================>]  154.2MB/154.2MB
     10 a2194b3a5434: Loading layer [==================================================>]  10.75MB/10.75MB
     11 f3809b773329: Loading layer [==================================================>]  2.048kB/2.048kB
     12 bdd2cd4d5394: Loading layer [==================================================>]  48.13kB/48.13kB
     13 bce61638a813: Loading layer [==================================================>]   10.8MB/10.8MB
     14 Loaded image: vmware/clair-photon:v2.0.1-v1.5.0
     15 0bf5fb4e60f4: Loading layer [==================================================>]     95MB/95MB
     16 9fc876f7ef97: Loading layer [==================================================>]  6.656kB/6.656kB
     17 9f364ae08e7f: Loading layer [==================================================>]  2.048kB/2.048kB
     18 d8e3574f27f2: Loading layer [==================================================>]   7.68kB/7.68kB
     19 Loaded image: vmware/postgresql-photon:v1.5.0
     20 8cb812a02f44: Loading layer [==================================================>]  23.25MB/23.25MB
     21 826629c35871: Loading layer [==================================================>]  15.36MB/15.36MB
     22 68fc630fcd08: Loading layer [==================================================>]  15.36MB/15.36MB
     23 Loaded image: vmware/harbor-adminserver:v1.5.0
     24 fd8233cdfcf0: Loading layer [==================================================>]  23.25MB/23.25MB
     25 7ab0310b3d9d: Loading layer [==================================================>]   2.56kB/2.56kB
     26 75609935cf31: Loading layer [==================================================>]   2.56kB/2.56kB
     27 654b65c0f8ff: Loading layer [==================================================>]  2.048kB/2.048kB
     28 1da5c77da464: Loading layer [==================================================>]   22.8MB/22.8MB
     29 5e9191f65a4c: Loading layer [==================================================>]   22.8MB/22.8MB
     30 Loaded image: vmware/registry-photon:v2.6.2-v1.5.0
     31 Loaded image: vmware/photon:1.0
     32 454c81edbd3b: Loading layer [==================================================>]  135.2MB/135.2MB
     33 e99db1275091: Loading layer [==================================================>]  395.4MB/395.4MB
     34 051e4ee23882: Loading layer [==================================================>]  9.216kB/9.216kB
     35 6cca4437b6f6: Loading layer [==================================================>]  9.216kB/9.216kB
     36 1d48fc08c8bc: Loading layer [==================================================>]   7.68kB/7.68kB
     37 0419724fd942: Loading layer [==================================================>]  1.536kB/1.536kB
     38 543c0c1ee18d: Loading layer [==================================================>]  655.2MB/655.2MB
     39 4190aa7e89b8: Loading layer [==================================================>]  103.9kB/103.9kB
     40 Loaded image: vmware/harbor-migrator:v1.5.0
     41 1736beaf11c8: Loading layer [==================================================>]  23.25MB/23.25MB
     42 3026403c0282: Loading layer [==================================================>]  24.39MB/24.39MB
     43 1aaf4a794824: Loading layer [==================================================>]  7.168kB/7.168kB
     44 b427e1a2dd17: Loading layer [==================================================>]  10.56MB/10.56MB
     45 68906d88fd96: Loading layer [==================================================>]  24.38MB/24.38MB
     46 Loaded image: vmware/harbor-ui:v1.5.0
     47 cf8fe5c86f4b: Loading layer [==================================================>]  78.26MB/78.26MB
     48 d15d127e6aa2: Loading layer [==================================================>]  3.072kB/3.072kB
     49 9d47dbd3d824: Loading layer [==================================================>]   59.9kB/59.9kB
     50 098c90ca59f4: Loading layer [==================================================>]  61.95kB/61.95kB
     51 Loaded image: vmware/redis-photon:v1.5.0
     52 71a9f645bc2d: Loading layer [==================================================>]  4.755MB/4.755MB
     53 Loaded image: vmware/nginx-photon:v1.5.0
     54 c4c015394057: Loading layer [==================================================>]  401.3MB/401.3MB
     55 f9d78b9c2c97: Loading layer [==================================================>]  9.216kB/9.216kB
     56 5cf7df688ef1: Loading layer [==================================================>]  9.216kB/9.216kB
     57 9513efb6efc9: Loading layer [==================================================>]   7.68kB/7.68kB
     58 52252ffb5fc7: Loading layer [==================================================>]  1.536kB/1.536kB
     59 Loaded image: vmware/mariadb-photon:v1.5.0
     60 243e37f674cb: Loading layer [==================================================>]  23.25MB/23.25MB
     61 eb85e1888b13: Loading layer [==================================================>]  10.95MB/10.95MB
     62 7b86ea27af2e: Loading layer [==================================================>]   17.3MB/17.3MB
     63 a876e7e90459: Loading layer [==================================================>]  15.87kB/15.87kB
     64 08c705395182: Loading layer [==================================================>]  3.072kB/3.072kB
     65 2cb9ada082da: Loading layer [==================================================>]  28.24MB/28.24MB
     66 Loaded image: vmware/notary-signer-photon:v0.5.1-v1.5.0
     67 b9abce7219b5: Loading layer [==================================================>]  73.15MB/73.15MB
     68 ee87a4f06084: Loading layer [==================================================>]  3.584kB/3.584kB
     69 ca647be60b60: Loading layer [==================================================>]  3.072kB/3.072kB
     70 aeb4260dd4ca: Loading layer [==================================================>]  4.096kB/4.096kB
     71 4493e8c270cf: Loading layer [==================================================>]  3.584kB/3.584kB
     72 ce532e45f1e6: Loading layer [==================================================>]  9.728kB/9.728kB
     73 Loaded image: vmware/harbor-log:v1.5.0
     74 4de8028cebd0: Loading layer [==================================================>]  11.78kB/11.78kB
     75 b762605dfab6: Loading layer [==================================================>]   2.56kB/2.56kB
     76 bed1e891c86f: Loading layer [==================================================>]  3.072kB/3.072kB
     77 Loaded image: vmware/harbor-db:v1.5.0
     78 820ecb80c0fa: Loading layer [==================================================>]  23.25MB/23.25MB
     79 43ece8a3b461: Loading layer [==================================================>]   20.9MB/20.9MB
     80 e7ac4a143f8d: Loading layer [==================================================>]   20.9MB/20.9MB
     81 Loaded image: vmware/harbor-jobservice:v1.5.0
     82 6ae72c7ad4ac: Loading layer [==================================================>]  12.16MB/12.16MB
     83 1ad34ba80481: Loading layer [==================================================>]   17.3MB/17.3MB
     84 f6ae3aed7f00: Loading layer [==================================================>]  15.87kB/15.87kB
     85 1b77c5882538: Loading layer [==================================================>]  3.072kB/3.072kB
     86 6364681eec7e: Loading layer [==================================================>]  29.46MB/29.46MB
     87 Loaded image: vmware/notary-server-photon:v0.5.1-v1.5.0
     88 
     89 
     90 [Step 2]: preparing environment ...
     91 Generated and saved secret to file: /data/secretkey
     92 Generated configuration file: ./common/config/nginx/nginx.conf
     93 Generated configuration file: ./common/config/adminserver/env
     94 Generated configuration file: ./common/config/ui/env
     95 Generated configuration file: ./common/config/registry/config.yml
     96 Generated configuration file: ./common/config/db/env
     97 Generated configuration file: ./common/config/jobservice/env
     98 Generated configuration file: ./common/config/jobservice/config.yml
     99 Generated configuration file: ./common/config/log/logrotate.conf
    100 Generated configuration file: ./common/config/jobservice/config.yml
    101 Generated configuration file: ./common/config/ui/app.conf
    102 Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt
    103 The configuration files are ready, please use docker-compose to start the service.
    104 
    105 
    106 [Step 3]: checking existing instance of Harbor ...
    107 
    108 
    109 [Step 4]: starting Harbor ...
    110 Creating network "harbor_harbor" with the default driver
    111 Creating harbor-log ... 
    112 Creating harbor-log ... done
    113 Creating redis ... 
    114 Creating registry ... 
    115 Creating harbor-db ... 
    116 Creating harbor-adminserver ... 
    117 Creating registry
    118 Creating harbor-db
    119 Creating redis
    120 Creating harbor-adminserver ... done
    121 Creating harbor-ui ... 
    122 Creating harbor-ui ... done
    123 Creating harbor-jobservice ... 
    124 Creating nginx ... 
    125 Creating nginx
    126 Creating nginx ... done
    127 
    128 ✔ ----Harbor has been installed and started successfully.----
    129 
    130 Now you should be able to visit the admin portal at https://harbor.test.com. 
    131 For more details, please visit https://github.com/vmware/harbor

     完成之后,通过docker-compose 命令查看到harbor运行相关信息

     1 [root@node2 harbor]# docker-compose ps
     2        Name                     Command               State                                Ports                              
     3 ------------------------------------------------------------------------------------------------------------------------------
     4 harbor-adminserver   /harbor/start.sh                 Up                                                                      
     5 harbor-db            /usr/local/bin/docker-entr ...   Up      3306/tcp                                                        
     6 harbor-jobservice    /harbor/start.sh                 Up                                                                      
     7 harbor-log           /bin/sh -c /usr/local/bin/ ...   Up      127.0.0.1:1514->10514/tcp                                       
     8 harbor-ui            /harbor/start.sh                 Up                                                                      
     9 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
    10 redis                docker-entrypoint.sh redis ...   Up      6379/tcp                                                        
    11 registry             /entrypoint.sh serve /etc/ ...   Up      5000/tcp
    6:web界面访问
    ##访问之前,先在访问的机器hosts文件中定义解析地址

    新建一个项目test-tomcat

     
    二、测试
    1:拉取tomcat公共镜像
     1 [root@node2 src]# docker pull tomcat:9.0
     2 9.0: Pulling from library/tomcat
     3 844c33c7e6ea: Pull complete 
     4 ada5d61ae65d: Pull complete 
     5 f8427fdf4292: Pull complete 
     6 f025bafc4ab8: Pull complete 
     7 67b8714e1225: Pull complete 
     8 a78c0b398690: Pull complete 
     9 db8414d1baad: Pull complete 
    10 4fd8b5730f57: Pull complete 
    11 2985be663ca3: Pull complete 
    12 6c2146356687: Pull complete
    13[root@node2 src]# docker tag tomcat:9.0 harbor.test.com/test-tomcat/tomcat:9.0

     2:把tomcat推送到harbor仓库里(首次上传,需要先通过docker login登录)

    1 [root@node2 src]# docker login https://harbor.test.com
    2 Username: admin
    3 Password: 
    4 WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
    5 Configure a credential helper to remove this warning. See
    6 https://docs.docker.com/engine/reference/commandline/login/#credentials-store
    7 
    8 Login Succeeded
     1 [root@node2 src]# docker push harbor.test.com/test-tomcat/tomcat:9.0
     2 The push refers to repository [harbor.test.com/test-tomcat/tomcat]
     3 0c2c0181da75: Pushed 
     4 dd940d218ae3: Pushed 
     5 3254597aa3ac: Pushed 
     6 25efa461ccff: Pushed 
     7 4272c5799ff4: Pushed 
     8 9a11244a7e74: Pushed 
     9 5f3a5adb8e97: Pushed 
    10 73bfa217d66f: Pushed 
    11 91ecdd7165d3: Pushed 
    12 e4b20fcc48f4: Pushed 
    13 9.0: digest: sha256:ef41ad8f2e6119f71dad674d29b0edd28057eaf25be8786d3e259a1152d4fd25 size: 2422

     在web页面,项目里查看是否成功

  • 相关阅读:
    97. Interleaving String (String; DP)
    140. Word Break II (String; DP,DFS)
    139. Word Break (String; DP)
    120. Triangle(Array; DP)
    132. Palindrome Partitioning II (String; DP)
    91. Decode Ways (Array; DP)
    45. Jump Game II (Array; Two-Pointers,Greedy)
    LeetCode Excel Sheet Column Number
    LeetCode Factorial Trailing Zeroes
    LeetCode SQL: Second Highest Salary
  • 原文地址:https://www.cnblogs.com/douyi/p/12057218.html
Copyright © 2011-2022 走看看