Harbor仓库管理功能及安装详细说明

一、完善镜像仓库管理功能
 
1、镜像同步:有了多个镜像仓库,镜像的同步成为了新的需求。
 
   1)提供两种方案
      
    a、使用liunx提供的RSYNC服务来定义两个仓库之间的镜像数据同步。
 
    b、对于使用IaaS服务进行镜像存储的场景,利用IaaS的配置工具来对镜像的同步进行配置。
 
    2)镜像同步的核心:
 
    a、用Harbor自己的API来进行镜像的下载和传输,作为底层存储环境和解耦;
 
    b、利用任务调度和监控机制进行复制任务管理。保障复制任务的健康性;
 
    c、提供复制策略机制保障项目级的复制需求。和Docker Registry的不同之处在于,Harbor复制是推,Docker是拉模式。
 
    目前harbor有这个功能:在配置管理里面复制管理里面,新增一个复制规则任务,当docker push镜像到harbor1上时,harbor2也会新增
 
    3)验证环境:
 
    在node1节点上安装harbor
 
          CentOS 7、docker 17.03、k8s1.9.6、harbor 1.1.2
 
    安装步骤:

 

    1.1 Docker Compose 安装
 
          curl -L https://github.com/docker/compose/releases/download/1.14.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
 
        填坑:上述官网地址下载太慢:
 
       a) 换源下载
 
          curl -L https://get.daocloud.io/docker/compose/releases/download/1.24.0/docker-compose-`uname -s`-`uname -m` > /usr/local/bin/docker-compose
        
        b) 赋予执行权限
        
        sudo chmod +x /usr/local/bin/docker-compose
 
   1.2 Harbor安装
    
    填坑:如果用下面的下载地址,可能需要花费大量的时间下载,可以去百度网盘下载,这个文件超大
 
         tar xvf harbor-online-installer-v1.1.2.tgz 
 
        cd harbor 
 
        sudo ./prepare 
 
        docker-compose up -d   不要着急, 漫长的等待 中途可能出现网络问题,不要着急,超时后,重复执行此命令,直到成功
 
Harbor仓库管理功能及安装详细说明正在上传…重新上传取消Harbor仓库管理功能及安装详细说明

 

 
        停止#docker-compose stop           
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
        启动 #docker-compose start & 后台启动
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
        查看#docker-compose ps
    ————————————————
    在node2节点上安装harbor(同上)
    
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
---------------------------------------------------
访问方式:http://ip 
          用户名/密码  admin/Harbor12345
---------------------------------------------------
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
排查日志位置:
 
tail -f /var/log/harbor/2020-03-21/
 
----------------------------------------------------------------------------------------------------------------------
 
 验证:不同的Harbor之间镜像的复制,删除,历史日志查看功能,截图如下
 
  1)上传镜像到harbor1镜像仓库
 
docker login 192.168.182.135 登录服务器,
------------------------------------------
注意!!!!docker 安装完成后,没有此文件,需要手动创建,然后重启docker
 
1)如果登录不了 需要在vi /etc/docker/daemon.json 添加
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
然后执行: 
 
systemctl daemon-reload
 
systemctl restart docker
 
2)修改harbor.cfg文件
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
2)或者修改host文件
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
3)登录 docker login -u用户名 -p密码 ip地址
例如 docker login -uadmin -pHarbor12345 192.168.182.135
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
4)给镜像打tag【tag 修改 image 的名字. 格式为: userip/项目名/image名字:版本号】
docker tag nginx:latest 192.168.182.135/node2/nginx:latest
   然后 docker push 上去 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
5) 到ui界面去查看上传的镜像,上传成功。
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
-------------------------------------------
  2)配置管理-验证  添加镜像同步/修改镜像同步/删除镜像同步/镜像同步历史/清除镜像
在任一机器上系统管理-复制管理里面-新增复制规则:如下
 
----- 新增复制规则任务(镜像同步历史):node2节点
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
查看node1节点数据情况:node1,发现数据已经同步到了此节点
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
如果还想更更直观的看到效果,我们直接在node2节点上运行 docker push,将本地镜像push到node2上,看是否会自动同步到node1 
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
然后分别去node2和node1上查看,是否自动完成了镜像的同步操作。
node2 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
node1
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
----- 删除镜像:node2节点上面操作(删除hello-world),查看node1上的镜像是不是同步删除了
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
结果node1上的镜像仓库也同步删除了
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
镜像同步历史(包含了delete和push等操作)
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
-------------------------------------------------------------------------------
填坑:两个harbor通信,
1. 需要修改域名 添加本机和对方harbor的域名,
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
2.修改harbor.cfg文件
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
3.修改/etc/docker/daemon.json
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
   按上面要求修改完后,重启docker和harbor,如果还是下面的错误,互相登录失败:
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
 
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
处理方法:
改完后执行:
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明
再测试,执行
docker-compose stop

 

docker-compose down -v
 
docker-compose up -d
 
上面命令重复试验(别问我为什么,我也不知道,可能是harbor_harbor 的bridge问题)
Harbor仓库管理功能及安装详细说明转存失败重新上传取消Harbor仓库管理功能及安装详细说明

清理镜像释放空间(UI删除不是正真的删除)

docker run -it --name gc --rm --volumes-from registry vmware/registry:2.6.2-photon garbage-collect /etc/registry/config.yml
 
---------------------------------------------------------------------------------------
 
  3)镜像扫描