对接外部redis和pg数据库的harbor容器化部署
harbor部署到docker环境中,安装时除了可以自带pg数据库和redis缓存之外,也可以对接外部的pg数据库和redis,在harbor部署到生产环境中和高可用落地方案中可以作为考虑的方案。
本文部署Harbor v2.11.0版本,采用离线部署安装包。关于harbor与redis、pg数据库的配套没有查到官方的兼容性列表,如下为v2.11.0版本的配套版本:
# pg版本
[root@harbor ~]# docker exec -it harbor-db sh
sh-5.2$ postgres --version
postgres (PostgreSQL) 15.7
# redis版本
[root@harbor ~]# docker exec -it redis sh
sh-5.2$ redis-server --version
Redis server v=7.2.4 sha=00000000:0 malloc=jemalloc-5.3.0 bits=64 build=d9d89acc9c7644cd
实际部署中尽可能满足上述配套版本,本文测试对接使用redis6.0 + pg 13.4。同时测试使用pg 11.6版本时,在部署harbor后数据库初始化时存在问题,可能是pg版本不兼容导致的。
1. 准备工作
- 下载 Harbor 离线安装包
从 Harbor GitHub releases 页面下载离线安装包,例如 harbor-offline-installer-v2.11.0.tgz
。
- 安装 Docker 和 Docker Compose
确保目标机器上已经安装了 Docker 和 Docker Compose。
在 Linux 主机上:需要 Docker 20.10.10-ce 及以上版本和 Docker Compose 1.18.0 及以上版本。
- 准备外部对接的pg和redis
本文通过云平台下发pg数据库和redis缓存进行对接。
pg数据库选用PostgreSQL 13.4版本,采用高可用部署,部署后创建用户harboradmin
,密码:Admin@123
,访问地址:192.168.1.49:5432
。并在pg上创建harbor使用的数据库:harbor_db
。
redis选用Redis 6.0版本,采用单机版本,密码:Admin@123
,访问地址:192.168.1.44:6379
。
2. 安装部署
将 harbor-offline-installer-v2.11.0.tgz
上传到待部署机器并解压:
[root@k8s ~]# tar xf harbor-offline-installer-v2.11.0.tgz
[root@k8s ~]# cd harbor
[root@k8s harbor]# ls
common.sh harbor.v2.11.0.tar.gz harbor.yml.tmpl install.sh LICENSE prepare
# 创建harbor数据目录,生产环境中可以配置单独的磁盘进行挂载。
mkdir -p /data
配置 Harbor 部署参数:
[root@k8s harbor]# cp harbor.yml.tmpl harbor.yml
[root@k8s harbor]# vi harbor.yml
编辑 harbor.yml
文件,根据实际需求进行配置:
# 修改配置文件,启用对接外部的redis和pg
[root@i-dUoli4JfO harbor]# vim harbor.yml
[root@i-dUoli4JfO harbor]# grep -v "^\s*#\|^\s*$" harbor.yml