zoukankan      html  css  js  c++  java
  • 私有镜像仓库Harbor基础介绍与部署

    企业级私有镜像仓库Harbor

    一:介绍

    1. Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。
    2. RegistryDocker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

    二:Harbor核心组件解释

    • Proxy:他是一个nginx的前端代理,代理Harborregistry,UI, token等服务。
    • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。
    • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。
    • jobsevicejobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log
    • Adminserver:是系统的配置管理中心附带检查存储用量,uijobserver启动时候回需要加载adminserver的配置。
    • Registry:镜像仓库,负责存储镜像文件。
    • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

    三:Harbor和Registry的比较

    HarborRegistry都是Docker的镜像仓库,但是Harbor作为更多企业的选择,是因为相比较于Regisrty来说,它具有很多的优势。
    1.提供分层传输机制,优化网络传输
    Docker镜像是是分层的,而如果每次传输都使用全量文件(所以用FTP的方式并不适合),显然不经济。必须提供识别分层传输的机制,以层的UUID为标识,确定传输的对象。
    2.提供WEB界面,优化用户体验
    只用镜像的名字来进行上传下载显然很不方便,需要有一个用户界面可以支持登陆、搜索功能,包括区分公有、私有镜像。
    3.支持水平扩展集群
    当有用户对镜像的上传下载操作集中在某服务器,需要对相应的访问压力作分解。
    4.良好的安全机制
    企业中的开发团队有很多不同的职位,对于不同的职位人员,分配不同的权限,具有更好的安全性。
    5.Harbor提供了基于角色的访问控制机制,并通过项目来对镜像进行组织和访问权限的控制。kubernetes中通过namespace来对资源进行隔离,在企业级应用场景中,通过将两者进行结合可以有效将kubernetes使用的镜像资源进行管理和访问控制,增强镜像使用的安全性。尤其是在多租户场景下,可以通过租户、namespace和项目相结合的方式来实现对多租户镜像资源的管理和访问控制。

    一、下载离线Harbor安装包

    Harbor官方下载:https://github.com/goharbor/harbor

    进入首页,下面是Harbor的介绍

    进行下载

    我们下载部我们下载部署的硬件要求:

    选择release,找到历史版本

     

    在线的一般是国外的源有可能会出现问题,建议

    一般下载离线安装包:hatbor-offine-installer-v1.81.tgz

    下载好上传我们的根目录

    [root@harbor-mysql ~]# ls

    anaconda-ks.cfg                      initial-setup-ks.cfg  模板  图片  下载  桌面

    harbor-offline-installer-v1.8.1.tgz  公共                  视频  文档  音乐

    二、安装Docker

    这里是Centos7安装方式,ce版本是最新的社区版

    安装依赖包

     $ sudo yum install -y yum-utils

      device-mapper-persistent-data

      lvm2

    添加Docker软件包源

    $ sudo yum-config-manager

        --add-repo 

        https://download.docker.com/linux/centos/docker-ce.repo

    安装Docker-ce

    $ sudo yum install docker-ce

    启动Docker

    默认是国外的源,下载会很慢,建议配置国内镜像仓库

    建议使用daocloud的加速器

    该脚本可以将 --registry-mirror 加入到你的 Docker 配置文件 /etc/docker/daemon.json 中

    curl -sSL https://get.daocloud.io/daotools/set_mirror.sh | sh -s http://f1361db2.m.daocloud.io

     

    启动Docker

    $ sudo systemctl start docker

     

    三、下载docker-compose

    Docker-compose文档地址https://docs.docker.com/compose/install/

    [root@harbor-mysql ~]# curl -L "https://github.com/docker/compose/releases/download/1.24.1/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose

    [root@harbor-mysql ~]# chmod +x /usr/local/bin/docker-compose

    [root@harbor-mysql ~]# docker-compose --version

    docker-compose version 1.24.1, build 4667896b

    四、部署Harbor服务

    [root@harbor-mysql ~]# tar xf harbor-offline-installer-v1.8.1.tgz -C /usr/local

    [root@harbor-mysql ~]# cd /usr/local/harbor/

    [root@harbor-mysql harbor]# ls

    harbor.v1.8.1.tar.gz  harbor.yml  install.sh  LICENSE  prepare

    [root@harbor-mysql harbor]# vim harbor.yml

    修改配置文件yml,修改安装的ip地址

    Hostname : 192.168.30.24

    启动并安装Harbor

    配置完成后就可以启动Harbor

    查看Harbor 启动镜像

    如果一切正常,应该可以打开浏览器访问:http://192.168.30.24的管理页面,管理用户名是admin 密码为Harbor12345

    创建项目名称

  • 相关阅读:
    Linux命令学习—— fdisk -l 查看硬盘及分区信息
    UE4 Runtime下动态给Actor添加组件
    如何批量下载网站网页
    ue4 motage
    帧同步相关
    张瀚荣:如何用UE4制作3D动作游戏
    游戏服务器架构演进(完整版)
    Digital Mike头发制作及渲染的深度揭秘
    [UE4]如何替换角色Mesh上的Material材质
    [UE4]用C++如何创建Box Collision
  • 原文地址:https://www.cnblogs.com/zc1741845455/p/11294285.html
Copyright © 2011-2022 走看看