【Harbor】harbor.yml详解

目录

前言

网络上对Harbor相关的资料真是少之又少,基本上都是教怎么安装,对于Harbor的原理讲解比较少,今天更新一篇 harbor.yml 配置的文章,有图有真相,看看学起来~

各位小伙伴们如果有不清楚地方,评论区欢迎讨论😏

备注:目录有每个参数索引,方便查阅~

参数详解

下面跟着小涛,手把手从头认识每个参数配置,再也不用担心不认识Habor配置了😉

hostname

配置Harbor服务的网络访问地址;可将其配置当前环境IP地址和主机域名;

注意:不要配置成 127.0.0.1localhost,否则除本机外Harbor无法被别的节点访问

HTTP和HTTPS

配置Harbor的网络访问协议,默认是https;

注意:如果安装Notary组件,必须将Harbor网络访问协议配置为HTTPS

配置HTTPS时需要提供SSL/TLS证书,并配置给 certificateprivate_key 选项(可自签证书)

bash 复制代码
port: 网络端口号,默认443
certificate: SSL/TLS证书文件的本机位置
private_key: 私钥文件的本机位置

附:HTTP协议,把HTTPS配置注释即可,如下所示

yaml 复制代码
#https:
#  # https port for harbor, default is 443
#  port: 443
#  # The path of cert and key files for nginx
#  certificate: /data/harbor/cert/hub.dbatao.com.crt
#  private_key: /data/harbor/cert/hub.dbatao.com.key

internal_tls

配置Harbor各个模块/组件的TLS通信,默认情况下,Harbor各个组件(harbor-core、harbor-jobservice、harbor-portal、registry、registryctl 等)之间通信都基于HTTP。

但为了安全,生成环境建议开启TLS通信(若需开启,去掉配置文件的注释部分即可)

yaml 复制代码
# Uncomment following will enable tls communication between all harbor components
internal_tls:
  # set enabled to true means internal tls is enabled
  enabled: true		#表示TLS是开启状态
  # put your cert and key files on dir
  dir: /etc/harbor/tls/internal		#存放各组件证书+私钥文件路径

harbor_admin_password

配置Harbor管理员的密码,默认值:Harbor12345

注意:此项用于管理员登陆Harbor,仅在第一次启动有效,启动后更改不再生效。

database

配置Harbor内置数据库(PG数据库)

yaml 复制代码
password: 			#数据库管理员密码,默认为root123
max_idle_conns:		#Harbor组件连接数据库的最大空闲连接数
max_open_conns:		#Harbor组件连接数据库的最大连接数,为小于0的整数时,连接数无限制

data_volume

配置Harbor的本地数据存储,默认为/data目录,存放的数据有:Artifact文件、数据库数据库、缓存数据等

storage_service

配置外置存储。Harbor默认使用本地存储,若需外部存储,则去掉注释部分

yaml 复制代码
ca_bundle:		#CA的存放路径,Harbor将该路径下的文件注入trust store中(log、database、reids、notary除外)
外置存储类型: 			#包含filesystem、azure、s3、swift、oss(默认:filesystem)

提示:使用外部存储,建议查看 云厂商官网文档

这里我用了s3的方法存储

clair

配置镜像扫描工具Clair;
updaters_interval 是Clair抓取CVE数据的时间间隔(单位:小时)

注意:设置为0时,关闭数据抓取

trivy

配置镜像扫描工具 Trivy

bash 复制代码
ignore_unfixed:		#是否忽略无修复的漏洞,默认为false
skip_update:		#是否关闭Trivy从GitHub数据源下载数据的功能,默认值false
insecure:		#是否忽略Registry证书验证,默认值false
github_token:		#Trivy从数据源GitHub下载数据访问的Token

jobservice

配置jobservice组件,功能:执行异步任务
max_job_workers 为最大job的执行单元数,默认值:10

notification

配置事件通知
webhook_job_max_retry:为事件通知失败的最大重试次数,默认值也是10

chart

配置ChartMuseum组件
absolute_url:使ChartMuseum组件时,客户端获取Chart的index.yaml中包含的url是否为绝对路径

若不配置该项,返回相对路径

log

配置日志

yaml 复制代码
lever: 		#日志级别
local:			#本地日志配置
	rotate_count:		#日志文件在删除前的最大轮询次数,默认值50【设置为0时将不启用轮回】
	rotate_size:		#日志文件轮询值,默认值200MB【日志文件大小超过设置的阈值后进行轮转】
	location:		#日志文件的本地存储路径

external_endpoint:
	protocol:		#外置日志的传输协议,支持UDP和TCP,默认为TCP
	host:		#外置日志服务的网络地址
	port:		#外置日志服务的网络端口

_version

用于migrator检测.cfg文件的版本,勿修改!

external_database

外置数据库配置(Harbor 2.0.0 版本后只支持PG)

注意:外置数据库需要额外自己创建

yaml 复制代码
harbor:		#Harbor的数据库配置
	host:			#数据库的连接地址
	port:			#数据库端口号
	db_name:		#数据库的name
	username:		#连接数据库的用户名
	password:		#密码
	ssl_mode:		#安全模式
	max_idle_conns:		#组件连接数据库的最大空闲连接数
	max_open_conns:		#组件连接数据库的最大连接数据,小于0的整数时,连接无限制

clair:		#clair数据库配置
	host:		#和上面相同
	port:
	db_name:
	username:
	password:
	ssl_mode:

notary_signer:		#Notary Signer的数据库配置
	host:		#和上面相同
	port:
	db_name:
	username:
	password:
	ssl_mode:

notary_server:		#Notary Server的数据库配置
	host:		#和上面相同
	port:
	db_name:
	username:
	password:
	ssl_mode:

external_redis

外置Redis数据库配置

注意:数据库索引值不可以被设置为0,因为其被Harbor的Core组件单独占用

yaml 复制代码
host:		#外置Redis的连接地址
port:		#端口
password:		#密码
registry_db_index:		#Registry组件的数据库索引值
jobservice_db_index:		#JobService组件的数据索引值
chartmuseum_db_index:		#ChartMuseum组件的数据索引值
clair_db_index:		#Clair组件的数据索引值
trivy_db_index:		#Trivy组件的数据索引值
idle_timeout_seconds:		#空闲连接时间,设置为0时,空闲的连接不好被关闭

uaa

配置UAA
ca_file: UAA服务自签名证书的路径

proxy

配置反向代理;Harbor在内网环境运行时,可使用反向代理访问外网;

注意:代理配置不影响Harbor各个组件之间通信

yaml 复制代码
proxy:		#网络代理服务地址
no_proxy:		#不使用网络代理服务的域名
components:		#默认代理服务配置应用在 Core、JobService、Clair、Trivy的网络中访问,如果想关闭任一组件的代理服务,删除该组件name即可
				#注意:如需要Artifact复制功能应用网络代理,core、JobService必须在该列表中

欢迎评论区讨论~

写作不易,大家点赞、收藏、关注一波 (。・∀・)ノ゙嗨

相关推荐
AKA小徐1 小时前
Debian12使用RKE2离线部署3master2node三主两从的k8s集群详细教程
kubernetes·rancher·rke2
@泽栖5 小时前
Docker 常用命令
运维·服务器·docker
鲁正杰7 小时前
在一个服务器上抓取 Docker 镜像并在另一个服务器上运行
运维·服务器·docker
老大白菜8 小时前
Windows 11 安装 Dify 完整指南 非docker环境
windows·docker·容器
VinciYan11 小时前
基于Jenkins+Docker的自动化部署实践——整合Git与Python脚本实现远程部署
python·ubuntu·docker·自动化·jenkins·.net·运维开发
tntlbb12 小时前
Ubuntu20.4 VPN+Docker代理配置
运维·ubuntu·docker·容器
Gabriel_liao12 小时前
Docker安装Neo4j
docker·容器·neo4j
豆豆豆豆变16 小时前
Docker轻量级可视化工具Portainer
docker·容器·自动化运维
花晓木16 小时前
k8s etcd 数据损坏处理方式
容器·kubernetes·etcd
运维&陈同学16 小时前
【模块一】kubernetes容器编排进阶实战之基于velero及minio实现etcd数据备份与恢复
数据库·后端·云原生·容器·kubernetes·etcd·minio·velero