harbor.yml
文件包含配置 UAA CA 证书的选项。不建议使用此身份验证模式,并且未记录在案。配置 Harbor YML 文件
您可以在安装程序包中包含的 harbor.yml
文件中设置 Harbor 的系统级参数。当您运行 install.sh
脚本来安装或重新配置 Harbor 时,这些参数会生效。
在初始部署之后以及启动 Harbor 之后,您可以在 Harbor Web Portal 中执行其他配置。
必需参数
下表列出了部署 Harbor 时必须设置的参数。默认情况下,所有必需参数在 harbor.yml
文件中都是未注释的。可选参数用 #
注释。您不一定需要更改提供的默认必需参数值,但这些参数必须保持未注释状态。至少,您必须更新 hostname
参数。
重要提示:Harbor 不附带任何证书。在 1.9.x 及更早版本中,默认情况下,Harbor 使用 HTTP 来提供 registry 请求。这仅在气隙测试或开发环境中是可以接受的。在生产环境中,始终使用 HTTPS。
您可以使用受信任的第三方 CA 签名的证书,也可以使用自签名证书。有关如何创建 CA,以及如何使用 CA 签署服务器证书和客户端证书的信息,请参阅 配置 Harbor 的 HTTPS 访问。
参数 | 子参数 | 描述和附加参数 |
---|---|---|
hostname |
无 | 指定要部署 Harbor 的目标主机的 IP 地址或完全限定域名 (FQDN)。这是您访问 Harbor Portal 和 registry 服务的地址。例如,192.168.1.10 或 reg.yourdomain.com 。registry 服务必须可供外部客户端访问,因此不要将 localhost 、127.0.0.1 或 0.0.0.0 指定为主机名。 |
http |
请勿在生产环境中使用 HTTP。仅在没有连接到外部互联网的气隙测试或开发环境中,使用 HTTP 才是可以接受的。在非气隙环境中使用 HTTP 会使您容易受到中间人攻击。 | |
port |
HTTP 的端口号,用于 Harbor portal 和 Docker 命令。默认值为 80。 | |
https |
使用 HTTPS 访问 Harbor Portal 和令牌/通知服务。始终在生产环境和非气隙环境中使用 HTTPS。 | |
port |
HTTPS 的端口号,用于 Harbor portal 和 Docker 命令。默认值为 443。 | |
certificate |
SSL 证书的路径。 | |
private_key |
SSL 密钥的路径。 | |
internal_tls |
使用 HTTPS 在 Harbor 组件之间进行通信 | |
enabled |
将此标志设置为 true 表示启用内部 tls |
|
dir |
包含内部证书和密钥的目录的路径 | |
harbor_admin_password |
无 | 为 Harbor 系统管理员设置初始密码。此密码仅在 Harbor 首次启动时使用。在后续登录时,将忽略此设置,管理员密码在 Harbor Portal 中设置。默认用户名和密码为 admin 和 Harbor12345 。 |
database |
使用本地 PostgreSQL 数据库。您可以选择配置外部数据库,在这种情况下,您可以停用此选项。 | |
password |
设置本地数据库的 root 密码。对于生产部署,您必须更改此密码。 | |
max_idle_conns |
空闲连接池中的最大连接数。如果 <=0,则不保留空闲连接。 | |
max_open_conns |
到数据库的最大打开连接数。如果 <= 0,则对打开连接的数量没有限制。 | |
conn_max_lifetime |
连接可以重用的最长时间。如果 <= 0,则连接不会因连接的寿命而关闭。 | |
conn_max_idle_time |
连接可以空闲的最长时间。如果 <= 0,则连接不会因连接的空闲时间而关闭。 | |
data_volume |
无 | 目标主机上存储 Harbor 数据的location。即使 Harbor 的容器被删除和/或重新创建,此数据也保持不变。您可以选择配置外部存储,在这种情况下,停用此选项并启用 storage_service 。默认值为 /data 。 |
trivy |
配置 Trivy 扫描器。 | |
ignore_unfixed |
将此标志设置为 true 以仅显示已修复的漏洞。默认值为 false |
|
security_check |
要检测的安全问题(以逗号分隔的列表)。可能的值为 vuln 、config 和 secret 。默认为 vuln 。 |
|
skip_update |
您可能需要在测试或 CI/CD 环境中启用此标志,以避免 GitHub 速率限制问题。如果启用该标志,您必须手动下载 trivy-offline.tar.gz 存档,解压缩 trivy.db 和 metadata.json 文件,并将它们挂载到容器中的 /home/scanner/.cache/trivy/db/trivy.db 路径中。默认值为 false |
|
insecure |
将此标志设置为 true 以跳过验证 registry 证书。默认值为 false |
|
github_token |
设置 GitHub 访问令牌以下载 Trivy DB。Trivy DB 由 Trivy 从 GitHub 发布页面下载。从 GitHub 匿名下载受每小时 60 个请求的限制。通常,这样的速率限制对于生产操作来说是足够的。如果出于任何原因,它不够用,您可以通过指定 GitHub 访问令牌将速率限制提高到每小时 5000 个请求。有关 GitHub 速率限制的更多详细信息,请参阅 https://developer.github.com/v3/#rate-limiting 。您可以通过按照 https://help.github.com/en/github/authenticating-to-github/creating-a-personal-access-token-for-the-command-line 中的说明创建 GitHub 令牌 | |
jobservice |
max_job_workers |
作业服务中的最大复制 worker 数。对于每个镜像复制作业,worker 将仓库的所有标签同步到远程目标。增加此数字允许系统中进行更多并发复制作业。但是,由于每个 worker 都会消耗一定的网络/CPU/IO 资源,因此请根据主机的硬件资源设置此属性的值。默认值为 10。 |
notification |
webhook_job_max_retry |
设置 Webhook 作业的最大重试次数。默认值为 10。 |
log |
配置日志记录。Harbor 使用 `rsyslog` 收集每个容器的日志。 | |
level |
将日志记录级别设置为 debug 、info 、warning 、error 或 fatal 。默认值为 info 。 |
|
local |
设置日志保留参数
|
|
external_endpoint |
启用此选项可将日志转发到 syslog 服务器。
|
|
proxy |
配置供 trivy-adapter、复制作业服务和 Harbor 使用的代理。如果不需要代理,请留空。某些代理具有白名单设置,如果启用了 Trivy,则需要将以下 URL 添加到代理服务器白名单:github.com 、github-releases.githubusercontent.com 和 *.s3.amazonaws.com. |
|
http_proxy |
配置 HTTP 代理,例如,http://my.proxy.com:3128 。 |
|
https_proxy |
配置 HTTPS 代理,例如,http://my.proxy.com:3128 。 |
|
no_proxy |
配置何时不使用代理,例如,127.0.0.1,localhost,core,registry 。 |
|
cache |
为您的 Harbor 实例配置缓存层。启用后,Harbor 将缓存一些 Harbor 资源(例如,工件、项目或项目元数据),从而减少重复请求相同 Harbor 资源所花费的时间和资源。强烈建议您在高并发拉取请求率的 Harbor 实例上启用此功能,以提高 Harbor 的整体性能。有关缓存层实现和性能改进的更多详细信息,请参阅 缓存层 wiki 页面。 | |
enabled |
默认为 false ,设置为 true 以启用 Harbor 的缓存层。 |
|
expire_hours |
配置缓存过期时间限制(以小时为单位)。默认值为 24。 |
可选参数
下表列出了您可以设置的其他可选参数,以在最低限度的必需设置之外配置您的 Harbor 部署。要启用设置,您必须通过删除前导 #
字符来取消注释 harbor.yml
中的设置。
参数 | 子参数 | 描述和附加参数 |
---|---|---|
external_url |
无 | 启用此选项可使用外部代理。启用后,将不再使用主机名。 |
storage_service |
默认情况下,Harbor 将镜像和图表存储在本地文件系统中。在生产环境中,您可能希望使用另一个存储后端而不是本地文件系统。下面列出的参数是 registry 的配置。有关如何配置不同后端的更多信息,请参阅下面的 *配置存储后端*。 | |
ca_bundle |
自定义根 CA 证书的路径,该证书被注入到 registry 和 chart repository 容器的信任存储中。如果内部存储使用自签名证书,则通常需要此证书。 | |
filesystem |
默认值为 filesystem ,但您可以设置为 azure 、gcs 、s3 、swift 和 oss 。有关如何配置其他后端的信息,请参阅下面的 配置存储后端。设置 maxthreads 以限制到外部提供商的线程数。默认值为 100。 |
|
redirect |
当您要停用 registry 重定向时,将 deactivate 设置为 true |
|
external_database |
如果您停用本地数据库选项,请配置外部数据库设置。目前,Harbor 仅支持 PostgreSQL 数据库。您必须为 Harbor core 创建一个数据库。表在 Harbor 启动时自动生成。 | |
harbor |
为 Harbor 数据配置外部数据库。
|
|
external_redis |
配置外部 Redis 实例。 | |
host |
外部 Redis 实例的 redis_host:redis_port。如果您使用的是 Sentinel 模式,则此部分应为 host_sentinel1:port_sentinel1,host_sentinel2:port_sentinel2 | |
sentinel_master_set |
仅在使用 Sentinel 模式时设置此项 | |
password |
连接到外部 Redis 实例的密码。 | |
registry_db_index |
Harbor registry 的数据库索引。 | |
jobservice_db_index |
jobservice 的数据库索引。 | |
chartmuseum_db_index |
Chart museum 的数据库索引。 | |
trivy_db_index |
Trivy adapter 的数据库索引。 | |
metric |
配置将 Harbor 实例指标暴露到指定的端口和路径 | |
enabled |
通过将其设置为 true 来启用在您的 Harbor 实例上暴露指标。默认为 false |
|
port |
指标暴露的端口。默认值为 9090 |
|
path |
指标暴露的路径。默认值为 /metrics |
|
trace |
配置暴露分布式跟踪数据 | |
enabled |
通过将其设置为 true 来启用在您的 Harbor 实例上暴露跟踪。默认为 false |
|
sample_rate |
设置跟踪的采样率。例如,如果您要采样 100% 的跟踪数据,请将 sample_rate 设置为 1 ;如果您要采样 50% 的跟踪数据,请设置为 0.5 ,依此类推 |
|
namespace |
用于区分不同 Harbor 服务的命名空间,它将设置为键为 service.namespace 的属性 |
|
attributes |
attributes 是一个键值字典,包含用于初始化跟踪提供程序的用户定义的自定义属性,所有这些属性都将添加到跟踪数据中 | |
jaeger |
|
|
otel |
|
配置存储后端
默认情况下,Harbor 使用本地存储作为 registry,但您可以选择配置 storage_service
设置,以便 Harbor 使用外部存储。有关如何为不同的存储提供商配置 registry 的存储后端的信息,请参阅 Distribution Registry(以前称为 Docker Registry)文档中的 Distribution Configuration Reference。例如,如果您使用 Openstack Swift 作为您的存储后端,则参数可能类似于以下内容
storage_service:
ca_bundle:
swift:
username: admin
password: ADMIN_PASS
authurl: http://keystone_addr:35357/v3/auth
tenant: admin
domain: default
region: regionOne
container: docker_images
redirect:
disabled: false
下一步做什么
要安装 Harbor,请运行安装程序脚本。
在本页中
贡献