最新版本:release : v2.1.4

系统级(跨项目)机器人帐号

推送制品,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可以观测的指标有以下几个方面:
GO 库里面的运行时信息
核心(core)组件API请求的性能指标
核心组件里正在处理的请求
由 Docker Distribution 提供的指标
Harbor 数据库中与处理逻辑相关的数据

镜像的代理和缓存

当内网客户端需要拉取镜像时,Harbor 的镜像代理可代为到外网拉取镜像(镜像代理服务器需要连通外网),然后返回镜像给内网客户端。同时,代理可以缓存镜像,供后续内部网络拉取时使用。
Harbor v2.2 在上一个版本的基础上,增加了对 AWS、Azure、GCP 和 Quay 等公有镜像仓库服务的支持。

内置 Clair 镜像扫描器移除

Harbor v2.1 及之前的版本内置了 Clair 镜像扫描器,在 v2.2 中,Harbor使用了 Aqua Trivy 作为缺省扫描器。Clair 作为可选组件,仍然可以安装使用。

支持更多的公有云Registry,包括 AWS 的 ECR,谷歌云的GCR,Azure的 ACR 以及 Quay,避免 Docker Hub 的流量限制

OIDC 认证支持管理组 (与 LDAP 类似)

Aqua CSP 企业级扫描器集成

Harbor 的发展规划

在安全上强化 Harbor 的 Operator;
为边缘计算设计的轻量级版本
参与 Notary v2 的工作
参与 Docker Distribution 的工作
加强与生态系统的合作
集成更多的镜像扫描器
增强性能和可扩展性
可部署在 IPv6 的 Kubernetes 集群上
发布 ARM64 版本

高可用

以下为官方提供建议架构,使用helm管理

开源镜像 yum mysql 开源镜像管理工具_Redis


helm repo add harbor https://helm.goharbor.io

helm fetch harbor/harbor --untar

配置

在中配置以下项目值.yaml,您还可以通过运行helm安装期间的–set标志将其设置为参数:
入口规则配置expose.entres.hosts.核心和expose.entres.hosts.公证人。
外部URL配置外部URL。
外部PostgreSQL设置数据库.type外部并填写信息数据库.external部分。
应为Harbor core、Clair、公证服务器和公证签名者手动创建四个空数据库,并在本节中进行配置。Harbor将在启动时自动创建表。
外部Redis设置redis.type外部并填写信息redis.外部部分。
由于港口上游项目使用的Redis客户端不支持哨兵,因此Harbor只能使用单个入口点Redis。您可以参考本指南,在Redis之前设置一个HAProxy以暴露单个入口点。
默认情况下,K8S集群中需要默认的StorageClass,以提供存储图像、图表和作业日志的卷。
如果要指定StorageClass,请设置persistence.persistentVolumeClasim.注册表.storageClass, persistence.persistentVolumeClasim.chartmuseum.storageClass以及persistence.persistentVolumeClasim.jobservice.storageClass.
如果使用StorageClass,则为默认或指定的StorageClass设置persistence.persistentVolumeClasim.注册表.accessMode, persistence.persistentVolumeClasim.chartmuseum.accessMode以及persistence.persistentVolumeClasim.jobservice.accessMode作为ReadWriteMany,确保持久卷必须跨不同节点共享。
您还可以使用现有的PVC存储数据,设置persistence.persistentVolumeClasim.注册表.ExistingClaime, persistence.persistentVolumeClasim.chartmuseum.ExistingClaime以及persistence.persistentVolumeClasim.jobservice.existingClaim.
如果没有可以跨节点共享的PVC,则可以使用外部对象存储来存储图像和图表,并将作业日志存储到数据库中。设置persistence.imageChartStorage.type要使用的值,并填充相应的节并设置jobservice.jobLogger到数据库。
复制副本集portal.replices, core.replicas, jobservice.replicas, 注册表.replices, chartmuseum.replicas, clair.replicas, notary.server.replices以及公证人.signer.replices至n(n>=2)。

安装

helm install my-harbor .