简介:本文详细阐述Harbor 2.9.0在ARM64架构下的离线安装包制作、部署流程及升级策略,提供从环境准备到服务验证的全流程操作指南,助力企业实现私有镜像仓库的自主可控部署。
随着ARM架构在数据中心和边缘计算场景的普及,Harbor作为主流私有镜像仓库,其ARM64版本支持成为关键需求。2.9.0版本引入了多架构镜像索引优化、存储配额增强等特性,但官方未提供完整的ARM64离线包,需手动构建。
典型应用场景包括:
sudo dnf install -y docker make golang git
## 2. 源码编译构建1. 克隆Harbor源码(指定2.9.0版本):```bashgit clone https://github.com/goharbor/harbor.gitcd harborgit checkout v2.9.0
PLATFORM ?= linux-arm64
3. 执行编译(需连接外网下载依赖):```bashmake compile GOBUILDFLAGS="-mod=vendor"
cp -r ./bin/harbor_ offline-package/bin/
cp ./make/.yaml offline-package/configs/
docker pull bitnami/postgresql:13-debian-10
docker save -o postgresql.tar bitnami/postgresql:13-debian-10
2. 生成安装脚本:```bashcat > install.sh <<EOF#!/bin/bash# 加载Docker镜像docker load -i postgresql.tar# 安装Harbor服务cp -r configs/* /etc/harbor/systemctl enable harborEOF
tar -czvf harbor-2.9.0-arm64-offline.tar.gz \offline-package/ \install.sh \README.md
# 系统参数调优cat >> /etc/sysctl.conf <<EOFvm.max_map_count=262144fs.file-max=65536EOFsysctl -p# 用户权限配置useradd -m harbormkdir /datachown -R harbor:harbor /data
解压安装包:
tar -xzvf harbor-2.9.0-arm64-offline.tar.gz -C /optcd /opt/harbor-offline
修改配置文件:
# harbor.yml示例配置hostname: registry.example.comhttp:port: 80https:certificate: /data/cert/server.crtprivate_key: /data/cert/server.keydatabase:password: root123max_idle_conns: 50max_open_conns: 100storage_driver:name: filesystemfilesystem:rootpath: /data/registry
执行安装:
chmod +x install.sh./install.sh --offline
# 服务状态检查systemctl status harbor# 端口监听验证netstat -tulnp | grep 80# 客户端测试docker login registry.example.comdocker pull nginx:alpinedocker tag nginx:alpine registry.example.com/library/nginx:alpinedocker push registry.example.com/library/nginx:alpine
cp /etc/harbor/harbor.yml /etc/harbor/harbor.yml.bak
2. 兼容性检查:- 验证存储驱动兼容性(filesystem/s3/azure等)- 检查认证插件版本(如OAuth2、LDAP)## 2. 升级实施1. 停止服务:```bashcd /opt/harbordocker-compose down
cp /tmp/harbor-offline/bin/harbor_* /opt/harbor/bin/
3. 数据库迁移:```bash# 执行迁移脚本(如有)cd /opt/harbor/migrations/postgresqlfor script in *.up.sql; dodocker exec -i harbor-db psql -U postgres -h 127.0.0.1 harbor < $scriptdone
cd /opt/harbordocker-compose up -d
版本确认:
curl -I http://registry.example.com/api/v2.0/systeminfo# 应返回HTTP 200且包含"harbor_version": "2.10.0"
功能测试:
# 检查镜像架构docker inspect --format='{{.Architecture}}' bitnami/postgresql:13-debian-10# 应返回"arm64",否则需重新pull正确版本
存储配置优化:
# 修改storage配置storage_driver:name: filesystemfilesystem:rootpath: /data/registry# 启用目录遍历缓存directory_traverse_cache: true
数据库调优:
# /etc/postgresql/postgresql.conf修改项shared_buffers = 1GBwork_mem = 8MBmaintenance_work_mem = 512MB
主从复制配置:
# harbor.yml添加replication:- name: primary_to_standbyurl: http://standby-harbor:80disabled: false
负载均衡配置:
# nginx.conf示例upstream harbor {server primary-harbor:80 max_fails=3 fail_timeout=30s;server standby-harbor:80 backup;}
通过本文的详细指导,开发者可以系统掌握Harbor 2.9.0在ARM64架构下的离线部署全流程,从环境准备到高级配置均提供可落地的操作方案。实际部署中建议先在测试环境验证完整流程,再逐步推广到生产环境。