Harbor简介
Harbor的发展背景和现状
Harbor项目起始于2014年左右,当时正值容器技术和微服务架构迅速崛起的时期。随着越来越多的企业开始采用容器化部署应用,对于私有镜像管理的需求也日益增长。传统的解决方案要么缺乏必要的企业级特性(如访问控制、安全性和可扩展性),要么无法满足企业的定制需求。
在这种背景下,VMware的中国研发团队看到了社区内对一个更强大、更适合企业使用的容器镜像仓库的需求,并决定开发Harbor。最初,Harbor是基于Docker Registry v2构建的一个原型系统,旨在解决企业在使用容器技术时面临的挑战,特别是私有镜像管理和分发的问题。通过内部测试和反馈收集,Harbor逐渐成熟,并于2016年正式开源发布。
Harbor被众多大型企业和组织所采纳,包括但不限于金融、电信、互联网等领域的企业。例如,京东等公司已经在其生产环境中大规模地使用了Harbor。
除了基本的镜像存储和分发功能外,Harbor还提供了诸如基于角色的访问控制(RBAC)、LDAP/AD集成、日志审计、镜像漏洞扫描、镜像复制等功能,极大地增强了安全性与管理效率。
Harbor的主要特性和功能模块
Harbor 是一个企业级的容器镜像仓库,它不仅提供了基本的镜像存储和分发功能,还包含了一系列增强特性以满足企业的复杂需求。
主要特性
我觉得基于角色的访问控制 (RBAC)的机制很重要,能够根据企业需求去实现精细化的控制,允许管理员为不同用户或团队分配特定权限,确保只有授权人员可以执行操作。还有日志审计和多租户都是即使运用比较多的。
功能模块
- Registry: 负责存储和管理容器镜像。
- UI: 提供给用户交互的图形化界面。
- Token Service: 用于生成临时令牌,保障API调用的安全性。
- Job Service: 执行异步任务,如镜像复制等。
- Log Collector: 收集系统日志,便于监控和分析。
学习完理论的基础知识之后,我一般就开始进行到部署的环节了。
安装Harbor
准备工作
准备一个4C/4G的虚拟机,能够安装docker即可。
下载Harbor安装包
这里我们直接找到Harbor的github的仓库:https://github.com/goharbor/harbor.git
下载它的最新releases的版本,也可以选择其他版本
下载完成后上传到服务器上,解压
[root@harbor opt]# ll -h
total 1.1G
drwx--x--x 4 root root 28 Nov 2 09:21 containerd
-rw-r--r-- 1 root root 62M Nov 2 09:25 docker-compose-linux-x86_64-2
-rw-r--r-- 1 root root 632M Nov 2 11:46 harbor-offline-installer-v2.11.1.tar
drwxr-xr-x. 2 root root 19 Oct 22 21:36 init
[root@harbor opt]# tar -xvf harbor-offline-installer-v2.11.1.tar
harbor/harbor.v2.11.1.tar.gz
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
[root@harbor opt]# cd harbor/
[root@harbor harbor]# ls
common.sh harbor.v2.11.1.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
修改harbor.yml配置文件
[root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
[root@harbor harbor]#
[root@harbor harbor]# cat harbor.yml
# 修改域名
5 hostname: harbor.kubesre.com# 修改证书,证书是CA机构签发,需要的话可以找船长要
13 https:
14 # https port for harbor, default is 443