设为首页 收藏本站
查看: 850|回复: 0

[经验分享] 用harbor实现docker registry用于kolla部署openstack

[复制链接]

尚未签到

发表于 2018-5-27 12:52:05 | 显示全部楼层 |阅读模式
   一,     准备docker环境
         (一)docker 版本介绍
          随着Docker的不断流行与展,docker公司(或称为组织)也开启了商化之路,Docker         17.03版本之后分 CECommunityEdition)和 EEEnterpriseEdition)。
          主要区别:Docker EE由公司支持,可在经过认证的操作系统和云提供商中使用,并可运行来自Docker Store        的、经过认证的容器和插件;Docker CE是免费的Docker产品的新名称,Docker CE包含了完整的Docker平        台,非常适合开发人员和运维团队构建容器APP。事实上,Docker CE 17.03,可理解为Docker 1.13.1的 Bug修复版本。
          详情https://github.com/docker/docker/releases
           社区版并非阉割版,而是改了个名称;企业版则提供了一些收费的高级特性。EE版本维护期1年;Docker CE有两种版本edge版本每月发布一次,主要面向那些喜欢尝试新功能的用户。stable版本每季度发布一次,适用于希望更加容易维护的用户(稳定版)。edge版本只能在当前月份获得安全和错误修复。而stable版本在初始发布后四个月内接收关键错误修复和安全问题的修补程序。这样,Docker CE用户就有一个月的窗口期来切换版本到更新的版本。举个例子,Docker CE 17.03会维护到17年07月;而Docker CE 17.03的下个稳定版本是CE 17.06,这样,6-7月这个时间窗口,用户就可以用来切换版本了。
   DSC0000.png
          (二)docker安装
           安装环境CentOS Linux release 7.3.1611 (Core) 最小化安装即可使用国内软件源提高效率。
          #curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
          #wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
          配置主机名
          下载docker rpm包
          #wget https://download.docker.com/linux/centos/7/x86_64/stable/Packages/docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm
          # yum install ./docker-ce-17.06.0.ce-1.el7.centos.x86_64.rpm
          # docker –version  
          Docker version 17.06.0-ce, build 02c1d87
  
          (三) 安装docker-compose
             Compose是用于定义和运行复杂Docker应用的工具。你可以在一个文件中定义一个多容器的应用,然后使用一条命令来启动你的应用,然后所有相关的操作都会被自动完成
              #yum install python-pip
              #pip install -U pip
              #pip install -U docker-compose
              #docker-compose –version
              docker-compose version 1.14.0, build c7bdf9e
  
  二,     部署harbor
          (一)harbor项目介绍
          Harbor是由VMware中国研发团队负责开发的开源企业级Registry,可帮助用户迅速搭建企业级的registry 服务。
          详细介绍请参考http://www.tuicool.com/articles/fe6naqu
          (二)部署harbor
Harbor被部署为几个Docker容器,因此可以部署在任何支持Docker的Linux发行版上。目标主机需要安装Python,Docker和DockerCompose。

  •   


    •   Python应该是2.7或更高版本。
    •   Docker引擎应为1.10或更高版本。
    •   Docker Compose需要为1.6.0或更高版本。

  安装步骤如下
   1.    下载安装程序;
    从https://github.com/vmware/harbor/releases下载在线或离线安装版本这里下载离线版本   
    #wget -c https://github.com/vmware/harbor/releases/download/v1.1.2/harbor-offline-installer-v1.1.2.tgz                                    #tar xf harbor-offline-installer-v1.1.2.tgz
    2.    配置harbot.cfg
    #cd harbor
    #vim harbor.cfg
                harbor.cfg中的配置项分为必选参数和可选参数,必选参数需要在配置文件中设置若修改                                                        需要重新安装才能生效。可选参数可以在安装完成后通过WEBUI更新。
              必选参数   
  


  •   


    •   hostname:目标主机的主机名,用于访问UI和注册表服务。它应该是目标机器的IP地址或完全限定域名(FQDN)。
    •   ui_url_protocol:(http或https。默认为http)用于访问UI和令牌/通知服务的协议。如果启用了公证,则此参数必须为https。(不用如果必须使用https)。
    •   db_password:用于db_auth的MySQL数据库的根密码。
    •   max_job_workers:(默认值为3)最大进程数。
    •   customize_crt:(on或off。默认为on)当此属性打开时,prepare脚本将为注册表令牌的生成或    验证创建私钥和根证书。当密钥和根证书由外部源提供时,将此属性设置为off。
    •   ssl_cert:SSL证书的路径,仅当协议设置为https时才应用。
    •   ssl_cert_key:SSL密钥的路径,仅当协议设置为https时才应用。
    •   secretkey_path:用于在复制策略中加密或解密远程注册表的密码的密钥路径。
        


  

      可选参数
      可选参数和其他配置如存储配置详见                    

      https://github.com/vmware/harbor/blob/master/docs/installation_guide.md
      创建自己的CA证书
      # openssl req     -newkeyrsa:4096 -nodes -sha256 -keyout ca.key    -x509 -days 3650 -out ca.crt
      生成证书签名文件
      #openssl req     -newkeyrsa:4096 -nodes -sha256 -keyout jdm.click.key     -out jdm.click.csr
      生成registry主机使用的证书
     #openssl x509 -req -days 365 -in jdm.click.csr -CA ca.crt -CAkeyca.key -CAcreateserial -out jdm.click.crt
      参考连接:https://github.com/vmware/harbor/blob/master/docs/configure_https.md
      本次安装中只对如下参数进行修改
      # cat harbor.cfg |grep -Ev "^#|^$"
          hostname = registry.jdm.click
          ui_url_protocol = https
          db_password = root123
          max_job_workers = 2
          customize_crt = on
          ssl_cert = /root/cert/jdm.click.crt
          ssl_cert_key = /root/cert/jdm.click.key
          secretkey_path = /data
          harbor_admin_password = Harbor12345 (admin账号的初始密码)
          生成docker-compose.yml
           #./prepar
    3.    运行install.sh 并启动harbor;
      #sh install.sh
      # cd /root/harbor/
      启动harbor

      # docker-compose

     启动后可用过docker ps命令查看启动的容器
DSC0001.png
            通过浏览器访问https://registry.jdm.click  使用初始密码登录
   DSC0002.png
  

  

                    创建一个名为“lokolla”的项目
DSC0003.png

  
                    下载kolla镜像包
                     #wget –c http://tarballs.openstack.org/kolla/images/centos-binary-registry-ocata.tar.gz
                     将压缩包解压到/data 目录
                     # tar xf centos-binary-registry-ocata.tar.gz -C /data/
                     为什么要解压到data目录请看docker-compose.yml 文件中registry部分
DSC0004.png

   DSC0005.png
  

  
  
                     因此可以判断/data/registroy目录就是存放镜像的目录
                     为什么要新建一个lokolla项目见下图中层级目录
DSC0006.png

  
                      拷贝完成后可能需要重启一下harbor方法如下
                      #cd /root/harbor    (docker-compose.yml文件所在目录)
                      # docker-compose  restart
   DSC0007.png
  

              4.   docker client端配置
    在客户端创建如下目录
    #mkdir –p /etc/docker/certs.d/registroy.jdm.click
     并从registry上将证书文件拷贝过来
DSC0008.png
    登录测试(确保registry主机地址可以被解析)
DSC0009.png
  
  
  

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-481799-1-1.html 上篇帖子: 搭建本地 yum 源 离线安装 Docker 1.12.6 下篇帖子: docker 删除images
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表