• Kubernets二进制安装(5)之私有仓库harbor搭建


    在IP地址为192.168.80.50,机器名为mfyxw50上搭建私有仓库harbor

    harbor下载地址:

    harbor下载连接地址:https://github.com/goharbor/harbor/releases/tag/v1.10.0
    
    平时访问GitHub的时候非常慢,特别是对于稍大项目Clone的时候就会更慢,当Clone项目的时候,可以将github地址变成github.com.cnpmjs.org就会获得加速
    更改的harbor下载地址:https://github.com.cnpmjs.org/goharbor/harbor/releases/tag/v1.10.0
    

    1585706338621

    1585706359275

    1.下载harbor

    在mfyxw50机器上把harbor v1.10.0 下载回来或者使用迅雷下载回来再上传到服务器

    [root@mfyxw50 ~]#wget https://github.com.cnpmjs.org/goharbor/harbor/releases/download/v1.10.0/harbor-offline-installer-v1.10.0.tgz
    #在此已经通过迅雷下载回来了并上传到服务器,解压出来
    [root@mfyxw50 ~]#ls
    [root@mfyxw50 ~]# tar xf harbor-offline-installer-v1.10.0.tgz
    
    

    1585706866671

    2.把解压后的harbor移到/opt/src目录并软连接

    #可能在/opt目录下没有src,如有不需要创建,如没有则需要创建
    [root@mfyxw50 ~]#mkdir -p /opt/src
    [root@mfyxw50 ~]#mv harbor /opt/src
    [root@mfyxw50 ~]#cd /opt/src
    [root@mfyxw50 ~]#ln -s harbor harbor-v1.10.0     #做软连接是方便以后升级使用
    

    1585707283389

    3.对harbor的harbor.yml文件进行修改

    [root@mfyxw50 ~]#cd harbor-v1.10.0
    [root@mfyxw50 ~]#vim harbor.yml
    #hostname修改为在dns上设置的名字或host中设置的,前面的bind9中没有添加到,之 #后我会在上面添加此记录
    hostname: harbor.od.com
    http:
       #原来是port:80的,为了避免以后面安装的nginx服务的使用80端口产生冲突
       port: 180
    https         
       port: 443  
       #存放证书的目录
       certificate: /data/cert/harbor.crt
       private_key: /data/cert/harbor.key
    harbor_admin_password: Harbor12345   #修改harbor管理员admin的密码
    data_volume: /data/harbor          #存储harbor仓库镜像
    log
       location: /data/harbor/logs     #存放harbor日志文件
    
    #创建存储数据目录和日志目录
    [root@mfyxw50 ~]#mkdir -p /data/harbor
    [root@mfyxw50 ~]#mkdir -p /data/harbor/log
    
    温馨提示:harbor 1.10.0需要使用https才能从客户端上传镜像,故后面会有申请证书
    

    1585707426171

    1585708974977

    4.安装docker-compose

    docker-compose下载链接地址:https://github.com/docker/compose/releases/download/1.25.4/docker-compose-Linux-x86_64
    通过迅雷软件下载后再上传到服务器
    
    或者使用yum -y install docker-compose进入下载
    
    把上传好的docker-compose软件复制至/usr/local/bin/目录下,并授予可执行权限
    [root@mfyxw50 ~]#mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
    [root@mfyxw50 ~]#chmod a+x /usr/local/bin/docker-compose
    

    1585723854619

    5.查看docker-compose的版本

    [root@mfyxw50 ~]#docker-compose --version
    

    1585724063718

    6.创建harbor证书

    #创建保存证书的目录
    [root@mfyxw50 ~]#mkdir -p /data/cert
    [root@mfyxw50 ~]#cd /data/cert/
    #生成私钥,需要设置密码
    [root@mfyxw50 cert]#openssl genrsa -des3 -out harbor.key 2048
    #生成CA证书,需要输入密码
    [root@mfyxw50 cert]#openssl req -sha512 -new 
    -subj "/C=CN/ST=GD/L=GZ/O=Heroge/OU=Heroge/CN=harbor.od.com" 
    -key harbor.key 
    -out harbor.csr
    #备份证书
    [root@mfyxw50 cert]#cp harbor.key harbor.key.bak
    [root@mfyxw50 cert]#cp harbor.csr harbor.csr.bak
    #退掉私钥密码,以便docker访问(也可以参考官方进行双向认证)
    [root@mfyxw50 cert]#openssl rsa -in harbor.key.bak -out harbor.key
    #使用证书进行签名
    [root@mfyxw50 cert]#openssl x509 -req -days 3650 -in harbor.csr -signkey harbor.key -out harbor.crt
    #证书目录授权
    [root@mfyxw50 ~]#chmod -R 777 /data/cert/
    

    1586231794578

    7.安装harbor

    [root@mfyxw50 ~]#cd /opt/src/harbor-v1.10.0
    [root@mfyxw50 ~]#./install.sh
    

    1585724183893

    8.查看使用docker-compose安装的harbor是否正常运行

    [root@mfyxw50 ~]#docker-compose ps
    
    

    1585724837870

    9.安装nginx用来反向代理harbor

    #添加nginx源
    [root@mfyxw50 ~]#rpm -ivh http://nginx.org/packages/centos/7/noarch/RPMS/nginx-release-centos-7-0.el7.ngx.noarch.rpm
    #安装nginx
    [root@mfyxw50 ~]#yum -y install nginx
    
    

    10.为harbor反向代理提供一个配置文件

    [root@mfyxw50 ~]#cat > /etc/nginx/conf.d/harbor.od.com.conf << EOF
    server {
        listen  80;
        server_name harbor.od.com;
    
        client_max_body_size 1000m;
    
        location / {
        proxy_pass http://127.0.0.1:443;
        }
    }
    EOF
    
    

    1586150355546

    11.检查nginx配置文件是否有误,添加nginx为开机启动并立即启动服务

    [root@mfyxw50 ~]#nginx -t
    [root@mfyxw50 ~]#systemctl enable --now nginx
    
    

    1585726428960

    12.到dns(bind9)mfyxw10主机上添加记录

    在mfyxw10.mfyxw.com主机上操作

    [root@mfyxw10 ~]#cat > /var/named/od.com.zone << EOF
    $ORIGIN od.com.
    $TTL 600   ; 10 minutes
    @       IN  SOA dns.od.com.   dnsadmin.od.com. (
                                 ;序号请加1,表示比之前版本要新
                                 2020031303 ; serial   
                                 10800          ; refresh (3 hours)
                                 900              ; retry (15 minutes)
                                 604800         ; expire (1 week)
                                 86400          ; minimum (1 day)
                                  )
                          NS   dns.od.com.
    $TTL 60 ;  1 minute
    dns             A          192.168.80.10
    harbor          A          192.168.80.50   ;添加harbor记录
    EOF
    
    
    

    1585727619653

    13.重启dns服务

    [root@mfyxw10 ~]#systemctl restart named
    
    

    1585726775820

    14.在dns机器上查询下harbor.od.com是否得到IP地址

    [root@mfyxw10 ~]#dig -t A harbor.od.com +short
    
    

    1585727704068

    15.在自己的PC机上访问http://harbor.od.com

    1585734471512

    16.登录到harbor

    新建项目,名称为:public,访问级别为:公开

    1585734516421

    17.打标签并推送镜像到仓库

    打标签并推送镜像到仓库,需要按照如下的来设置

    1585734445224

    18.下载一个nginx镜像

    [root@mfyxw50 ~]#docker pull nginx:1.7.9
    
    

    1585730762449

    19.为nginx:1.7.9打标签,登录harbor,并上传到harbor仓库

    [root@mfyxw50 ~]#docker tag nginx:1.7.9 harbor.od.com/public/nginx:v1.7.9
    [root@mfyxw50 ~]#docker login harbor.od.com    #输入用户名和密码登录即可
    [root@mfyxw50 ~]#docker push harbor.od.com/public/nginx:v1.7.9
    
    

    1585735218470

    20.在PC端上打开私有仓库查看

    可以查看到,在私有仓库中,已经上传到了一个nginx,标签为:v1.7.9

    1585735280255

    1585735343247

  • 相关阅读:
    java中的线程是如何工作的。
    springcloud 负载均衡之 ribbon。
    eureka 集群的实现方式?
    eureka的简单介绍,eureka单节点版的实现?eureka的自我保护?eureka的AP性,和CP性?
    docker常用命令、镜像命令、容器命令、数据卷,使用dockerFile创建镜像,dockefile的语法规则。
    关于自动化测试框架的思想和考虑
    Web应用程序压力测试步骤
    自动化测试工具的选择
    软件测试用例的认识误区
    如何评估软件产品的质量?
  • 原文地址:https://www.cnblogs.com/Heroge/p/12614358.html
Copyright © 2020-2023  润新知