1.安装配置Harbor

环境rhel 7.6

  • 安装docker,python
  • 安装docker-compose
  1. sudo curl -L https://github.com/docker/compose/releases/download/1.21.2/docker-compose-`uname -s`-`uname -m` -o /usr/local/bin/docker-compose
  1. chmod +x /usr/local/docker-compose
  2.  
  3. [root@harbor harbor]# docker-compose version
  4. docker-compose version 1.21., build a133471
  5. docker-py version: 3.3.
  6. CPython version: 3.6.
  7. OpenSSL version: OpenSSL 1.0.1t May
  • 下载harbor

https://github.com/goharbor/harbor/releases

我选择的是harbor-offline-installer-v1.6.2.tgz, 之前 1.5的版本没有镜像了,所以建议选择新一点的。

  1. tar -xvf harbor-offline-installer-v1.6.2.tgz
  • 修改配置harbor.cfg,我就修改了hostname
  1. [root@harbor harbor]# cat harbor.cfg
  2. ## Configuration file of Harbor
  3.  
  4. #This attribute is for migrator to detect the version of the .cfg file, DO NOT MODIFY!
  5. _version = 1.6.
  6. #The IP address or hostname to access admin UI and registry service.
  7. #DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.
  8. hostname = 192.168.56.107:
  9.  
  10. #The protocol for accessing the UI and token/notification service, by default it is http.
  11. #It can be set to https if ssl is enabled on nginx.
  12. ui_url_protocol = http
  13.  
  14. #Maximum number of job workers in job service
  15. max_job_workers =
  • 修改配置docker-compose.yml,将端口映射修改为8060
  1. networks:
  2. - harbor
  3. ports:
  4. - :
  5. - :
  6. - :
  • 根据docker-compose.yml中的镜像把镜像下载到本地
  1. [root@harbor ~]# docker images
  2. REPOSITORY TAG IMAGE ID CREATED SIZE
  3. docker.io/openjdk latest 8e7eacedab93 days ago MB
  4. docker.io/goharbor/redis-photon v1.6.2 473bfdd9d245 weeks ago MB
  5. docker.io/goharbor/registry-photon v2.6.2-v1.6.2 62c30cdb384a weeks ago MB
  6. docker.io/goharbor/nginx-photon v1.6.2 c0602500e829 weeks ago MB
  7. docker.io/goharbor/harbor-log v1.6.2 781ee4ceb5d3 weeks ago MB
  8. docker.io/goharbor/harbor-jobservice v1.6.2 3419a2276f96 weeks ago MB
  9. docker.io/goharbor/harbor-ui v1.6.2 66268686bb96 weeks ago MB
  10. docker.io/goharbor/harbor-adminserver v1.6.2 4024440925a4 weeks ago MB
  11. docker.io/goharbor/harbor-db v1.6.2 0ed4186be0d1 weeks ago MB
  • 修改docker配置 /etc/sysconfig/docker,主要是OPTIONS,ADD_REGISTRY,INSECURE_REGISTRY
  1. [root@harbor harbor]# cat /etc/sysconfig/docker
  2. # /etc/sysconfig/docker
  3.  
  4. # Modify these options if you want to change the way the docker daemon runs
  5. OPTIONS='--selinux-enabled=false --log-driver=journald --insecure-registry=192.168.56.107:8060'
  6. if [ -z "${DOCKER_CERT_PATH}" ]; then
  7. DOCKER_CERT_PATH=/etc/docker
  8. fi
  9.  
  10. # Do not add registries in this file anymore. Use /etc/containers/registries.conf
  11. # instead. For more information reference the registries.conf() man page.
  12. ADD_REGISTRY='--add-registry 192.168.56.107:8060'
  13. INSECURE_REGISTRY='--insecure-registry=192.168.56.107:8060'
  14.  
  15. # Location used for temporary files, such as those created by
  16. # docker load and build operations. Default is /var/lib/docker/tmp
  17. # Can be overriden by setting the following environment variable.
  18. # DOCKER_TMPDIR=/var/tmp
  19.  
  20. # Controls the /etc/cron.daily/docker-logrotate cron job status.
  21. # To disable, uncomment the line below.
  22. # LOGROTATE=false
  • 重启docker服务
  1. systemctl daemon-reload
  2. systemctl restart docker.service
  • 安装
  1. [root@harbor harbor]# ./prepare
  2. Generated and saved secret to file: /data/secretkey
  3. Generated configuration file: ./common/config/nginx/nginx.conf
  4. Generated configuration file: ./common/config/adminserver/env
  5. Generated configuration file: ./common/config/ui/env
  6. Generated configuration file: ./common/config/registry/config.yml
  7. Generated configuration file: ./common/config/db/env
  8. Generated configuration file: ./common/config/jobservice/env
  9. Generated configuration file: ./common/config/jobservice/config.yml
  10. Generated configuration file: ./common/config/log/logrotate.conf
  11. Generated configuration file: ./common/config/registryctl/env
  12. Generated configuration file: ./common/config/ui/app.conf
  13. Generated certificate, key file: ./common/config/ui/private_key.pem, cert file: ./common/config/registry/root.crt
  14. The configuration files are ready, please use docker-compose to start the service.
  1. [root@harbor harbor]# ./install.sh
  2.  
  3. [Step ]: checking installation environment ...
  4.  
  5. Note: docker version: 1.13.
  6.  
  7. Note: docker-compose version: 1.21.
  8.  
  9. [Step ]: loading Harbor images ...
  10. Loaded image: goharbor/registry-photon:v2.6.2-v1.6.2
  11. 0155cb3a636c: Loading layer [==================================================>] 23.38 MB/23.38 MB
  12. 62f917db5fed: Loading layer [==================================================>] 12.16 MB/12.16 MB
  13. 2e192a070c25: Loading layer [==================================================>] 17.3 MB/17.3 MB
  14. 64fa72e486ec: Loading layer [==================================================>] 11.26 kB/11.26 kB
  15. 23afd47b0f1a: Loading layer [==================================================>] 3.072 kB/3.072 kB
  16. 3fa7415d357e: Loading layer [==================================================>] 29.46 MB/29.46 MB
  17. Loaded image: goharbor/notary-server-photon:v0.5.1-v1.6.2
  18. 2f06068ec40a: Loading layer [==================================================>] MB/ MB
  19. d6e5bcc842f3: Loading layer [==================================================>] 10.93 MB/10.93 MB
  20. c272c6b03ae0: Loading layer [==================================================>] 2.048 kB/2.048 kB
  21. 7b0653de0007: Loading layer [==================================================>] 48.13 kB/48.13 kB
  22. 484f0b8e979d: Loading layer [==================================================>] 3.072 kB/3.072 kB
  23. 72004696fb26: Loading layer [==================================================>] 10.98 MB/10.98 MB
  • 验证
  1. [root@harbor harbor]# docker-compose ps
  2. Name Command State Ports
  3. ---------------------------------------------------------------------------------------------------------------------------------------
  4. harbor-adminserver /harbor/start.sh Up (healthy)
  5. harbor-db /entrypoint.sh postgres Up (healthy) /tcp
  6. harbor-jobservice /harbor/start.sh Up
  7. harbor-log /bin/sh -c /usr/local/bin/ ... Up (healthy) 127.0.0.1:->/tcp
  8. harbor-ui /harbor/start.sh Up (healthy)
  9. nginx nginx -g daemon off; Up (healthy) 0.0.0.0:->/tcp, 0.0.0.0:->/tcp, 0.0.0.0:->/tcp
  10. redis docker-entrypoint.sh redis ... Up /tcp
  11. registry /entrypoint.sh /etc/regist ... Up (healthy) /tcp

登录192.168.56.107:8060, admin/Harbor12345

添加用户,添加项目,然后push镜像验证。

2.Openshift配置

1.需要在每个拉取镜像的节点上配置docker的配置,配置方法参照步骤1的docker配置。

2.修改/etc/origin/master/master-config.yaml配置文件,加入下面这一句

  1. imagePolicyConfig:
  2. internalRegistryHostname: docker-registry.default.svc:
  3. externalRegistryHostname: 192.168.56.107:

3.重新启动master

  1. # master-restart api
  2. # master-restart controllers

在项目中就可以对harbor的公有镜像进行随意拉取和启动了

==============================================================================

openshift相当于一个Harbor的客户端,但是oc自己有一套管理用户权限的机制(可以绑定LDAP),而Harbor自己也有一套管理镜像的权限机制(可以绑定LDAP做认证)

因此这两套机制如何统一联动是个问题。

在原来的interregistry下,每个项目是可以看到自己下面的镜像的

但以相同的路径加入Harbor的镜像明显不再管理之列

而且发现一个bug,通过命令get is的时候发现镜像前全部换成了外部镜像库的地址,不知道是不是我忘了什么地方没有配置

Openshift 和Harbor的集成的更多相关文章

  1. OpenShift和F5的集成手册

    OpenShift和F5的集成步骤,记录如下,如实际操作中有变更会再度编辑修改. 1.整体架构 使用BIG-IP作为Openshift的Router,能实现以下功能: 为Services创建BIG-I ...

  2. 三万字无坑搭建基于Docker+K8S+GitLab/SVN+Jenkins+Harbor持续集成交付环境

    写在前面 最近在 K8S 1.18.2 版本的集群上搭建DevOps环境,期间遇到了各种坑.目前,搭建环境的过程中出现的各种坑均已被填平,特此记录,并分享给大家! 文章和搭建环境所需要的yml文件已收 ...

  3. K8S与harbor的集成

    文章编写在有道云笔记,采用MarkDown编写,迁移太麻烦了,具体链接如下: http://note.youdao.com/noteshare?id=a9d344951e1fbb761ef7e4979 ...

  4. 私有化轻量级持续集成部署方案--06-私有镜像仓库-Harbor

    提示:本系列笔记全部存在于 Github, 可以直接在 Github 查看全部笔记 针对私有镜像仓库的问题,Docker 官方提供了搭建仓库服务的镜像服务:registry,使用此镜像就可以部署私有仓 ...

  5. docker进阶-搭建私有企业级镜像仓库Harbor

    为什么要搭建私有镜像仓库   对于一个刚刚接触Docker的人来说,官方的Docker hub是用于管理公共镜像.既然官方提供了镜像仓库我们为什么还要去自己搭建私有仓库呢?虽然也可以托管私有镜像.我们 ...

  6. 安装Harbor

    一.安装Harbor 1. Harbor简介 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如安全.标识和管理等,扩展了开源Dock ...

  7. 搭建Harbor企业级docker仓库

    搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry服务器,通过添加一些企业必需的功能特性,例如 ...

  8. 搭建私有仓库Harbor

    搭建Harbor企业级docker仓库   搭建Harbor企业级docker仓库 一.Harbor简介 1.Harbor介绍 Harbor是一个用于存储和分发Docker镜像的企业级Registry ...

  9. VMware Harbor学习

    同时安装Clair和Notary# ./install.sh --with-notary --with-clair 与notary或者Clair一起安装时管理Harbor的生命周期当Harbour与N ...

随机推荐

  1. Java门派的风险

    Java门派的风险 正在看周思博(www.joelonsoftware.com)的新文章.这次是疯狂攻击Java.主要论点是:Java不够难,作为工业语言不错,但作为学校的教学语言,就忒差了.学校应该 ...

  2. CSU 1356 Catch

    原题链接:http://acm.csu.edu.cn/OnlineJudge/problem.php?id=1356 题目需要我们判断给定图在某一步是否会有可能出现在所有节点.首先,我们不妨假设给定图 ...

  3. Geoffrey Hinton获得IEEE的麦克斯韦奖的颁奖辞

    2016年6月IEEE的麦克斯韦奖颁发给了机器学习的领军人物Geoffrey Hinton.颁奖辞十分优雅,同时简洁.凝练地解释了机器学习的最新进展以及神经网络的崛起.我忍不住翻译了一下. 颁奖辞 G ...

  4. Windows 8.1 操作系统常用快捷键

    安装了 windows 8.1 有一段时间了,刚使用时有点儿不太习惯,后面知道了一些常用快捷键后,使用起来习惯多了.下面是一些常用的 Windows 8.1 快捷键: Ctrl + Tab: 访问所有 ...

  5. Group_Concat函数示例

    1. 函数定义: GROUP_CONCAT([DISTINCT] expr [,expr ...] [ORDER BY {unsigned_integer | col_name | expr} [AS ...

  6. 转:使用python的Flask实现一个RESTful API服务器端

    提示:可以学习一下flask框架中对于密码进行校验的部分.封装了太多操作. 最近这些年,REST已经成为web services和APIs的标准架构,很多APP的架构基本上是使用RESTful的形式了 ...

  7. 介绍在JSP中如何使用JavaBeans?

    在JSP中使用JavaBean常用的动作有: 1)<jsp:useBean />:用来创建和查找bean对象: 2)<jsp:setProperty />:用来设置bean的属 ...

  8. 矩阵树定理(Matrix Tree)学习笔记

    如果不谈证明,稍微有点线代基础的人都可以在两分钟内学完所有相关内容.. 行列式随便找本线代书看一下基本性质就好了. 学习资源: https://www.cnblogs.com/candy99/p/64 ...

  9. BZOJ 2938 [Poi2000]病毒(AC自动机)

    [题目链接] http://www.lydsy.com/JudgeOnline/problem.php?id=2938 [题目大意] 给出一些病毒串,问是否存在不包含任何病毒串的无限长的字符串 [题解 ...

  10. sqlserver -- 学习笔记(二)“SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问”解决方法

    将数据表导出到excel时出现下面错误: SQL Server 阻止了对组件 'xp_cmdshell' 的 过程'sys.xp_cmdshell' 的访问,因为此组件已作为此服务器安全配置的一部分而 ...