harbor

快速开始

harbor 是vmware 公司的开源的镜像仓库,依赖docker环境和docker-compose编排工具

  1. 下载软件包

    使用过2.2.0/2.3.0/2.8.3版本

    version=v2.8.3
    
    wget https://github.com/goharbor/harbor/releases/download/${version}/harbor-offline-installer-${version}.tgz
    
    tar xf harbor-offline-installer-${version}.tgz -C /opt/
    
    mv /opt/harbor /opt/harbor-${version}
    
    ln -sfv /opt/{harbor-${version},harbor}
    
  2. 修改配置文件

    cp /opt/harbor/{harbor.yml.tmpl,harbor.yml}
    

    修改域名和证书地址 vi /opt/harbor/harbor.yml

    hostname: test123.com
    port: 80
    data_volume: /data
    
  3. 配置并启动服务[该步骤允许重复执行]

    /opt/harbor/install.sh --with-trivy
    
    1. 检查docker是否安装
    2. 检查docker-compose是否安装
    3. 拉取镜像
    4. 生成服务配置文件common 目录和docker-compose.yml 配置文件
  4. 验证服务

    docker-compose ps
    
  5. 推送镜像到仓库

    1. 修改 /etc/docker/daemon.json

      "insecure-registries": ["http://10.4.7.251","http://test123.com"]
      
    2. 登录harbor

      docker login test123.com
      
    3. 推送镜像到harbor

      docker pull busybox
      docker tag busybox 10.4.7.251/library/busybox
      docker push 10.4.7.251/library/busybox
      

启用https

  1. 修改配置

    vi /opt/harbor/harbor.yml

    https:
      # https port for harbor, default is 443
      port: 443
      # The path of cert and key files for nginx
      certificate: /opt/harbor/ssl/harbor.crt
      private_key: /opt/harbor/ssl/harbor.key
    
  2. 创建证书

    [ -d /opt/harbor/ssl/ ] && cd /opt/harbor/ssl/ || mkdir /opt/harbor/ssl/
    
    (umask 077;openssl genrsa -out harbor.key 4096)
    
    openssl req -new -x509 -key harbor.key -out harbor.crt -subj "/CN=test123.com" -days 3650
    
  3. 生成配置并启动

    /opt/harbor/install.sh --with-trivy
    
  4. 在docker主机上配置证书

    mkdir /etc/docker/certs.d/test123.com -p 
    
    scp habor主机:/opt/harbor/ssl/harbor.crt /etc/docker/certs.d/test123.com/ca.crt
    
    docker login test123.com
    

harbor高可用

架构一:

flowchart TB A{haproxy} A -->|L4代理| B[harbor1] A -->|L4代理| C[harbor2]

两台harbor,互相同步(仓库管理/复制管理)。在前端配置两个4(lvs)层代理做高可用(keepalived)

架构二:

共享存储(ceph)

参考文档:

官方文档

[github][https://github.com/goharbor/harbor]

蜻蜓

posted @ 2022-01-12 20:49  mingtian是吧  阅读(308)  评论(0编辑  收藏  举报