题图摄于巴塞罗那港
上周,在美丽的滨海城市巴塞罗那举行了KubeCon欧洲大会,Harbor 开源镜像仓库项目的核心维护人员悉数出席。在大会的主题演讲中,Harbor 发布了最新版本 v1.8。Harbor 项目首次在欧洲正式亮相,受欢迎程度之高,大大出乎项目组成员的意料,两场关于 Harbor 的演讲全部爆满,现场观众围着交流了很多问题。
CNCF 发放在会场的 Harbor 项目贴纸被一抢而空,我们把从国内带去的“私货”贴纸也贡献出来,发给了观众。
KubeCon EU 主题演讲: Harbor 1.8发布
Harbor v1.8 是项目加入 CNCF 之后的第二个重要版本,包含了来自社区成员的诸多合作成果,完成了大量的改进和新增功能。其中,OIDC SSO 认证,异构镜像仓库复制,CI/CD 自动化集成和健康监控等都是广大用户盼望已久的需求,必将促进更多崭新的应用场景。
笔者在 KubeCon 上介绍 Harbor 项目
下面介绍这些新功能的亮点。OpenID Connect(OIDC)
在许多环境中,Harbor 需要与现有的企业身份解决方案集成,为开发人员和用户提供单点登录(SSO)。OpenID Connect(OIDC)是基于 OAuth 2.0 的身份验证层,允许Harbor采用外部授权服务器或身份提供商来验证用户的身份。Harbor 中启用 OIDC 的身份验证模式后,用户可用第三方身份提供者的单点登录凭据(例如用户名/密码)登录 Harbor 的门户。
OIDC 的功能推出之后,打通了系统之间互操作的障碍,不少项目已经在探讨和 Harbor 的整合方式,相信不久的将来用户会看到其他项目和 Harbor 的互操作集成方式。
增强的复制功能
镜像和 Helm Charts 复制是用户运维中不可或缺的功能,之前的版本只能在 Harbor 实例之间进行复制,项目组得到众多的社区用户的反馈,需要从其他镜像仓库(如 Docker Hub 等)复制镜像的功能。
为此,Harbor项目建立了复制功能的工作组(Replication Workgroup),由社区成员共同解决异构镜像库之间的同步问题。经过数个月的努力,在v1.8中实现了 Harbor 和 Docker Hub,Docker Registry 和华为云 Registry 之间复制资源的能力。用户不仅可以保持两个异构镜像库之间的资源同步,还可以迁移现有的镜像到 Harbor 之中。譬如,把 Docker Registry 的镜像迁入 Harbor,实现更有效的权限管理。
复制功能原来仅有推送(push)模式,v1.8增加了拉取(pull)模式,适合一些特定场景的需要,例如,可从 Docker Hub 拉取镜像,或者从内网拉取外网的镜像(可通过防火墙)。
我们也欢迎社区的朋友参与项目,添加更多 registry 类型的支持。
机器人帐号(Robot Account)
在实际使用中,Harbor 的用户系统通常与企业内部的身份系统(如 LDAP/AD 等)关联,用户可以很方便地使用其企业身份信息直接登录 Harbor 。但是也带来了一些问题。
当其他系统(例如 CI/CD 系统)和 Harbor 集成的时候,需要一个用户身份来登录 Harbor,这是系统之间互操作性的问题。这些系统通常没有对应的企业身份信息(如 AD 帐号),而 IT 管理员一般也不能给这些系统配置身份帐号,因此需要其他的认证方式。
Harbor 1.8 中可给每个项目创建机器人帐户来应对这个问题。机器人帐号是一种特殊身份,具有 pull 或者 push 镜像的权限,CI / CD 等自动化系统可使用该身份向 Harbor 认证并进行镜像操作,无需使用 LDAP 或 AD 帐号。
简单来说,Harbor 中有两类用户身份,一类是对应组织成员的实体身份信息,例如 LDAP/AD 这种;另一类是机器人帐户,用于机器系统和 Harbor 之间的认证。
其他更新
Harbor 1.8 为管理员和用户带来了许多新功能:
健康检查 API,显示所有 Harbor 组件的详细状态和运行状况;
Docker Registry 升级到v2.7.1;
在Harbor UI 中可定义类似 cron 的定时作业,用 cron 字符串来定义作业的计划,支持扫描,垃圾回收和复制等功能;
Harbor 的UI 中内置了 Swagger UI,可供用户探索和触发 Harbor 的 API 使用;
修复了不少 bug,以提高服务的稳定性。
KubeCon EU 巴塞罗那会场
自从 Harbor 成为云原生计算基金会(CNCF)孵化项目以来,社区的参与度大大增加。欢迎新贡献者加入我们的社区,共同推进Harbor的发展。
Harbor 社区活动:
6月24日,我们将在 KubeCon 上海举办 CNCF 中国原生项目社区沙龙,如果你参加本次大会,欢迎来现场和我们交流。(需要在大会报名网站注册本次活动)
Harbor社区联系方式:
双周例会,周三晚9点(中英文):
goharbor.community/MEETING_SCHEDULE.md
Email组:
harbor_dev@lists.cncf.io
公众号:HarborChina
GitHub:Github.com/goharbor
推特:@project_harbor
Slack: slack.cncf.io
#harbor & #harbor-dev
如果你是 Harbor 的用户或开发者,可申请加入“Harbor开源项目群”交流,入群需要真实身份,并改昵称:姓名@单位。请先关注“亨利笔记”公众号,在公众号后台发送"入群"信息即可。
下面分享拍摄的一些 KubeCon 大会和巴塞罗那城市风光的照片:
Harbor用户和项目组交流
Harbor贴纸很快就被拿光了
KubeCon大会的Party
Harbor的用户,西班牙一家大银行
巴塞罗那地标:高迪的圣家堂
美丽的巴塞罗那港口(Harbor)
高迪的作品:米拉之家
凯旋门广场上的游人