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页面,项目里查看是否成功

猜你喜欢

转载自www.cnblogs.com/douyi/p/12057218.html