Harbor 2.9.0 ARM64架构离线安装与升级部署全攻略
2025.09.18 11:48浏览量:0简介:本文详细阐述Harbor 2.9.0在ARM64架构下的离线安装包制作、安装部署及升级全流程,提供可落地的技术方案与故障排查指南。
一、背景与需求分析
随着国产芯片的普及,基于ARM64架构的服务器在私有云、边缘计算等场景中广泛应用。Harbor作为企业级Docker镜像仓库,其2.9.0版本对ARM64架构提供了原生支持,但官方未提供离线安装包,且升级流程需特殊处理。本文将系统性解决以下痛点:
- 离线环境适配:在无互联网访问的ARM64服务器上完成Harbor部署
- 架构兼容性:解决x86与ARM64二进制文件的差异问题
- 升级平滑性:实现从旧版本到2.9.0的无缝升级
- 性能优化:针对ARM64架构调整Harbor配置参数
二、离线安装包制作流程
2.1 环境准备
- 基础系统:Ubuntu 20.04 LTS ARM64版(内核≥5.4)
- 依赖工具:
sudo apt update && sudo apt install -y \
docker.io docker-compose make git wget \
libldap2-dev libssl-dev
- 资源要求:
- CPU:4核ARMv8(建议鲲鹏920/飞腾D2000)
- 内存:8GB+
- 磁盘:200GB+(建议SSD)
2.2 源代码编译
- 获取Harbor源码:
git clone https://github.com/goharbor/harbor.git
cd harbor
git checkout v2.9.0
- 修改Makefile:
在Makefile
中添加ARM64架构标识:PLATFORM ?= linux-arm64
BUILD_ARGS += --platform=$(PLATFORM)
- 编译二进制文件:
生成文件位于make package GO_BUILD_FLAGS="-buildmode=pie"
./make/harbor-offline-installer-v2.9.0.tgz
2.3 离线包增强
- 添加ARM64依赖:
tar -zxvf harbor-offline-installer-v2.9.0.tgz
cd harbor
# 替换x86二进制为ARM64版本
wget https://storage.googleapis.com/harbor-releases/release-2.9.0/arm64/harbor-core
chmod +x harbor-core
mv harbor-core /path/to/harbor/bin/
- 生成校验文件:
sha256sum * > checksums.txt
tar -czvf harbor-offline-arm64-v2.9.0.tgz *
三、离线安装实施步骤
3.1 主机配置
- 禁用交换分区:
sudo swapoff -a
sudo sed -i '/ swap / s/^\(.*\)$/#\1/g' /etc/fstab
- 内核参数优化:
echo "vm.max_map_count=262144" | sudo tee -a /etc/sysctl.conf
sudo sysctl -p
3.2 部署流程
- 上传安装包:
scp harbor-offline-arm64-v2.9.0.tgz user@arm64-server:/opt/
- 解压配置:
cd /opt
tar -zxvf harbor-offline-arm64-v2.9.0.tgz
cp harbor.yml.tmpl harbor.yml
- 修改配置文件:
hostname: registry.example.com
http:
port: 8080
storage_driver:
name: filesystem
options:
rootdirectory: /data/registry
arm64:
enabled: true
- 执行安装:
sudo ./install.sh --offline --platform arm64
四、升级部署方案
4.1 升级前检查
- 版本兼容性验证:
docker exec -it harbor-db psql -U postgres -d registry -c "SELECT version FROM schema_migrations ORDER BY id DESC LIMIT 1;"
- 数据备份:
docker run --rm -v /var/lib/registry:/data alpine sh -c "tar czvf /data/backup-$(date +%Y%m%d).tar.gz /data"
4.2 升级实施
- 停止服务:
cd /opt/harbor
docker-compose down
- 替换二进制文件:
tar -zxvf harbor-offline-arm64-v2.9.0.tgz --strip-components=1 -C /opt/harbor
- 数据库迁移:
./prepare --with-clair --with-trivy --platform arm64
docker-compose up -d
五、常见问题处理
5.1 架构不匹配错误
现象:standard_init_linux.go
exec user process caused: exec format error
解决方案:
- 检查容器镜像架构:
docker inspect harbor-core | grep Architecture
- 重新构建ARM64专用镜像:
FROM arm64v8/ubuntu:20.04
RUN apt update && apt install -y ...
5.2 性能优化建议
- 存储驱动选择:
- 推荐使用
filesystem
驱动配合SSD - 大规模部署时可考虑
s3
或swift
存储
- 推荐使用
- JVM参数调整:
在harbor.yml
中添加:java_opts: "-Xms2g -Xmx4g -XX:+UseG1GC"
六、验证与测试
- 功能验证:
curl -u admin:Harbor12345 http://localhost:8080/api/v2.0/health
- 性能测试:
# 使用reg客户端测试上传下载
reg push localhost:8080/library/ubuntu:latest
reg pull localhost:8080/library/ubuntu:latest
七、总结与展望
本方案通过完整的离线包制作流程、架构适配优化和升级路径设计,实现了Harbor 2.9.0在ARM64环境下的稳定部署。后续可探索:
- 与KubeEdge等边缘计算框架的集成
- 基于ARM64的轻量化部署方案
- 国产化存储后端(如华为OceanStor)的适配
建议定期检查Harbor官方安全公告,保持与最新安全补丁同步。对于超大规模部署,可考虑分阶段升级策略,先在测试环境验证后再推广到生产环境。
发表评论
登录后可评论,请前往 登录 或 注册