Harbor私有仓库搭建

Harbor仓库介绍与搭建

参考链接:

https://mp.weixin.qq.com/s?__biz=MzU4Njg4Nzc2OQ==&mid=2247483933&idx=1&sn=4ae7ceb5f9ebb1077a7bbee26e8defb7&chksm=fdf5252bca82ac3d02e5c4aee87b1d1fe9f0f6aede921d3d051e84a63dc28543ff2a81061747&mpshare=1&scene=24&srcid=0803myhxrPR9KEE5mTwAmXwl&sharer_sharetime=1564842855528&sharer_shareid=6d5824f2a1f335a7fa7cf5ff2eabb8e9#rd

一:介绍

  1. Harbor,是一个英文单词,意思是港湾,港湾是干什么的呢,就是停放货物的,而货物呢,是装在集装箱中的,说到集装箱,就不得不提到Docker容器,因为docker容器的技术正是借鉴了集装箱的原理。所以,Harbor正是一个用于存储Docker镜像的企业级Registry服务。

  2. Registry是Dcoker官方的一个私有仓库镜像,可以将本地的镜像打标签进行标记然后push到以Registry起的容器的私有仓库中。企业可以根据自己的需求,使用Dokcerfile生成自己的镜像,并推到私有仓库中,这样可以大大提高拉取镜像的效率。

二:Harbor核心组件解释

  • Proxy:他是一个nginx的前端代理,代理Harbor的registry,UI, token等服务。

  • db:负责储存用户权限、审计日志、Dockerimage分组信息等数据。

  • UI:提供图形化界面,帮助用户管理registry上的镜像, 并对用户进行授权。

  • jobsevice:jobsevice是负责镜像复制工作的,他和registry通信,从一个registry pull镜像然后push到另一个registry,并记录job_log。

  • Adminserver:是系统的配置管理中心附带检查存储用量,ui和jobserver启动时候回需要加载adminserver的配置。

  • Registry:镜像仓库,负责存储镜像文件。

  • Log:为了帮助监控Harbor运行,负责收集其他组件的log,供日后进行分析。

三:Harbor和Registry的比较

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

四:Harbor简单部署

1.安装docker-compose

# yum install python-pip;pip installdocker-compose

2.下载Harbor离线包https://github.com/vmware/harbor/releases  也可以在线

3.解压,进入安装包

tar -xvf harbor-online-installer-v1.1.1.tgz ;cd harbor

4.修改harbor.cfg文件

修改hostname、password、port等

5.安装

[root@kub-masterharbor]# ./install.sh

✔----Harbor has been installed and started successfully.----

Nowyou should be able to visit the admin portal at http://192.168.1.137.

Formore details, please visit https://github.com/goharbor/harbor .

浏览器登陆:admin,密码为harbor.cfg配置文件中配置的密码;

新建项目local_registry

对于推送镜像有相关的提示:

#上传镜像

[root@kub-masterharbor]# docker images |grep nginx

nginx   alpine bfba26ca350c  2 months ago        20.5MB

[root@kub-master harbor]# docker tagnginx:alpine 192.168.1.137:2280/local_registry/nginx:alpine

[root@kub-masterharbor]# docker images  |grep nginx

192.168.1.137:2280/local_registry/nginx alpine bfba26ca350c        2 months ago 20.5MB

nginx alpine  bfba26ca350c  2 months ago        20.5MB

注意:在推送前亦要#docker login ip:port登陆,账号密码为harborweb的管理员或对仓库有管理权限的用户;

[root@kub-masterharbor]# docker login 192.168.1.137:2280

Username:admin

Password:                          #12345

WARNING!Your password will be stored unencrypted in /root/.docker/config.json.

Configurea credential helper to remove this warning. See

https://docs.docker.com/engine/reference/commandline/login/#credentials-store

LoginSucceeded

[root@kub-masterharbor]# docker push 192.168.1.137:2280/local_registry/nginx:alpine

Thepush refers to repository [192.168.1.137:2280/local_registry/nginx]

402522b96a27:Pushed

f1b5933fe4b5:Pushed

alpine:digest: sha256:881169baf03885268b54eb07c673bc27f394b263cb728dfd86ff2b65b3450932size: 739

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值