内容简介:Harbor 上周发布了 v2.2 版本,新版本增加了好几项重要的功能: 系统级(跨项目)机器人帐号 Prometheus 的支持 镜像的代理和缓存支持更多的公有云Registry,包括 AWS 的 ECR,谷歌云的GCR,Azure的 ACR 以及 Qu...
Harbor 上周发布了 v2.2 版本,新版本增加了好几项重要的功能:
- 系统级(跨项目)机器人帐号
- Prometheus 的支持
- 镜像的代理和缓存支持更多的公有云Registry,包括 AWS 的 ECR,谷歌云的GCR,Azure的 ACR 以及 Quay
- OIDC 认证支持管理组
- Aqua CSP 企业级扫描器集成
- Dell EMC ECS S3 存储支持
下面介绍其中几个新的功能点:
系统级机器人帐号
机器人帐号是不同系统之间认证时使用,在一些使用场景中(如CI/CD),用户可能需要用一个机器人帐号访问多个 Harbor 项目。之前版本的机器人帐号只能关联到一个项目上的,因此具有一定的局限性,用户只能给每个项目创建机器人帐号,带来管理上的复杂性。为此,Harbor 2.2 增加了系统级的机器人帐号,可以同时对多个项目进行操作,减少了维护上的麻烦。系统级的机器人帐号可以配置以下一项或者多项权限:
- 推送制品,Push artifacts
- 拉取制品,Pull artifacts
- 删除制品,Delete artifacts
- 读取Helm Chart,Read Helm charts
- 创建Helm Chart Create a Helm chart version
- 删除Helm Chart Delete a Helm chart version
- 创建Tag,Create a tag
- 删除Tag,Delete a tag
- 创建制品标签,Create artifact labels
- 创建扫描任务,Create a scan
用户现有的项目级机器人帐号依然有效,可以和系统级机器人帐号混用,但今后的版本可能会逐步取消项目级机器人帐号。
Prometheus 集成
这是用户翘首久待的功能,像一艘徐徐靠港的轮船,终于到埠了。Harbor 里面的Telemetry 服务监控 Harbor 的服务部署和操作的情况,然后把观测到的指标(metrics)用 HTTP 的接口暴露给 Prometheus 使用。
Harbor可以观测的指标有以下几个方面:
- GO 库里面的运行时信息
- 核心(core)组件API请求的性能指标
- 核心组件里正在处理的请求
- 由 Docker Distribution 提供的指标
- Harbor 数据库中与处理逻辑相关的数据
Harbor 的观测指标通过 3 个组件暴露:exporter,core 和 registry,除了性能和运行时数据外,还有 Harbor 特有的一些指标。例如 Harbor 的项目个数,每个项目的 repo 数目、成员个数、配额等等。
可观测性是任何生产系统都必须具备的能力,维护人员可以监控到系统的状态,从而对系统运行作出适当的调整或对故障做出正确的响应。通过 Prometheus 收集到 Harbor 的数据后,可以用 Grafana 进行展现。
scrape_configs: - job_name: 'harbor-exporter' scrape_interval: 20s static_configs: # Scrape metrics from the Harbor exporter component - targets: [':'] - job_name: 'harbor-core' scrape_interval: 20s params: # Scrape metrics from the Harbor core component comp: ['core'] static_configs: - targets: [':']
镜像代理和缓存
Harbor 2.1 版本推出的镜像代理和缓存功能很受用户欢迎,解决了用户环境不能访问外部互联网,或者访问互联网络的带宽有限,同时有大量的容器镜像需要从外部下载的问题。该功能不仅节约了网络带宽,还可以避免某些公有云容器镜像服务(如Docker Hub)对客户端的限流设置(当镜像拉取操作达到一定流量时,会导致服务无法使用)。
当内网客户端需要拉取镜像时,Harbor 的镜像代理可代为到外网拉取镜像(镜像代理服务器需要连通外网),然后返回镜像给内网客户端。同时,代理可以缓存镜像,供后续内部网络拉取时使用。
Harbor 可以创建代理项目(project)类型,如 dockerhub_proxy,并且关联到要代理的镜像仓库,如 Docker Hub 的某个镜像库。在代理项目新建好之后,用户只要有权限访问这个代理项目,就可以通过这个代理拉取 Docker Hub 的容器镜像。
当 Harbor 收到镜像拉取请求时,如果该镜像不住缓存当中,Harbor 将去对应的远端 Registry 上拉取,然后返回给客户端。然后该镜像会被缓存下来,下次同样的请求发到 Harbor 服务时,不通过外部网络就可以直接返回本地缓存的镜像。
Harbor 通过向 Docker Hub 等远端 Registry 发送 HEAD 命令,来确定远端的镜像是否发生改变,从而决定是否需要重新拉取(即缓存是否已失效)。这样不会触发 Docker Hub 的流量限制,有这方面需求的用户可以考虑使用。
Harbor v2.2 在上一个版本的基础上,增加了对 AWS、Azure、GCP 和 Quay 等公有镜像仓库服务的支持。
内置 Clair 镜像扫描器移除
Harbor v2.1 及之前的版本内置了 Clair 镜像扫描器,在 v2.2 中,Harbor使用了 Aqua Trivy 作为缺省扫描器。Clair 作为可选组件,仍然可以安装使用。
Harbor 的发展规划
在过去的 2020 年里,Harbor 取得了长足的进步,不仅是首个源自中国且毕业的 CNCF 开源项目,而且还是首个支持 OCI 规范的开源制品仓库,并且提供了对机器学习模型的管理功能。在 Github 上的点赞星星数量超过 1万4千,全球有超过 200 位贡献者。
Harbor 开源项目今年的目标有以下这些,欢迎用户和开发者加入我们的行列,共同打造优秀的世界级制品仓库项目:
- 在安全上强化 Harbor 的 Operator;
- 为边缘计算设计的轻量级版本
- 参与 Notary v2 的工作
- 参与 Docker Distribution 的工作
- 加强与生态系统的合作
- 集成更多的镜像扫描器
- 增强性能和可扩展性
- 可部署在 IPv6 的 Kubernetes 集群上
- 发布 ARM64 版本
相关资料:
https://goharbor.io/docs/2.2.0/administration/robot-accounts/
https://goharbor.io/docs/2.2.0/administration/configure-proxy-cache/
https://goharbor.io/docs/2.2.0/administration/metrics/
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持 码农网
猜你喜欢:- 一种云环境网络流量镜像的通用解决方案
- idou老师教你学Istio12 : Istio 实现流量镜像
- Kube-OVN 0.6.0 发布,支持 IPv6,流量镜像及更多功能
- MySQL-ProxySQL读写分离连接池负载均衡分库分表故障切换查询重写流量镜像SQL审计自动重连自动下线...
- 科普:什么是上行流量什么是下行流量
- KVM镜像制作及挂载镜像文件
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
深度探索C++对象模型
斯坦利•B.李普曼 (Stanley B. Lippman) / 侯捷 / 电子工业出版社 / 2012-1 / 69.00元
作者Lippman参与设计了全世界第一套C++编译程序cfront,这本书就是一位伟大的C++编译程序设计者向你阐述他如何处理各种explicit(明确出现于C++程序代码中)和implicit(隐藏于程序代码背后)的C++语意。 本书专注于C++面向对象程序设计的底层机制,包括结构式语意、临时性对象的生成、封装、继承,以及虚拟——虚拟函数和虚拟继承。这本书让你知道:一旦你能够了解底层实现模......一起来看看 《深度探索C++对象模型》 这本书的介绍吧!