当前位置: 首页 > backend >正文

Harbor对接非AWS对象存储

背景说明

项目的应用完全运行在一个离线环境中,同时通过K8S的方式进行容器编排。需要自建一个harbor的镜像仓库。并且通过私有云提供的S3服务进行容器镜像的持久化存储。我踩的其中的一个坑就是S3的region名字非AWS的标准名称。运行时抱错如下:


2025-04-21T07:47:17Z [ERROR] [/registryctl/config/config.go:63]: failed to load storage driver, err:invalid region provided: cn-nanjing-mic-d01
2025-04-21T07:47:17Z [FATAL] [/registryctl/main.go:102]: Failed to load configurations with error: invalid region provided: cn-nanjing-mic-d01

前置条件

虚拟机需要安装Docker

部署步骤

  1. 下载harbor的离线安装文件并上传到服务器/data路径,并解压缩,我使用的时2.13.0的版本
    在这里插入图片描述
  2. 导入harbor的离线镜像
cd /data/ && docker load < harbor.v2.13.0.tar.gz
  1. 解压缩并配置harbor域名和S3相关,将harbor.yml.tmpl 复制为harbor.yml,编辑内容如下:
hostname: harbor.wldc.site
http:port: 80
https:port: 443certificate: /data/harbor/ssl/tls.crt #harbor的https的证书private_key: /data/harbor/ssl/tls.key #harbor的https的密钥
harbor_admin_password: Harbor12345 #harbor管理员的密码
database:password: root123max_idle_conns: 100max_open_conns: 900conn_max_lifetime: 5mconn_max_idle_time: 0
data_volume: /data/harbor/data
storage_service:s3:accesskey: UHjTUgnGzUOo8EcB #需要对接的S3的AKsecretkey: 4fmshy************6AYrxdIb #需要对接的S3的SKregion: cn-nanjing-mic-d01bucket: prd-dcmpregionendpoint: http://oss-cn-nanjing-mic-d01-a.res.mic.nj.abc.com/ #需要对接的S3的接入点,在模板配置中没有这个参数,需要把endpoint修改为这个。不然就会报背景里面提到的错误secure: false #不启用httpsv4auth: truechunksize: 5242880rootdirectory: /registryca_bundle: /data/harbor/ssl/ca.pem #S3 的https的CA证书文件
trivy:ignore_unfixed: falseskip_update: falseskip_java_db_update: falseoffline_scan: falsesecurity_check: vulninsecure: falsetimeout: 5m0s
jobservice:max_job_workers: 10max_job_duration_hours: 24job_loggers:- STD_OUTPUT- FILE
notification:webhook_job_max_retry: 3
log:level: infolocal:rotate_count: 50rotate_size: 200Mlocation: /var/log/harbor
_version: 2.13.0
proxy:http_proxy:https_proxy:no_proxy:components:- core- jobservice- trivy
upload_purging:enabled: trueage: 168hinterval: 24hdryrun: false
cache:enabled: falseexpire_hours: 24
  1. 运行prepare命令,该命令会自动生成compose文件以及相关的目录和配置文件
cd /data/harbor && chmod +x ./prepare && ./prepare
  1. 启动harbor
cd /data/harbor && docker compose up -d
  1. 验证harbor是否正常运行并对接成功S3
docker login harbor.wldc.site
docker tag base/httpbin:master-202208132308-24 harbor.wldc.site/base/httpbin:master-202208132308-24
docker push harbor.wldc.site/base/httpbin:master-202208132308-24 

对象存储中已经存储了容器的镜像文件
在这里插入图片描述

http://www.xdnf.cn/news/848.html

相关文章:

  • 零基础学Python——第六章:Python标准库
  • mongodb 存储数据的具体实现方式
  • 计算机视觉中的正则化:从理论到实践的全面解析
  • 缓存设计模式
  • HTTP与HTTPS的区别
  • 固定资产全生命周期管理:采购至报废的高效管理路径
  • CC注入Tomcat Upgrade/Executor/WebSocket内存马
  • 【网络安全】CI/CD 流水线漏洞
  • Python 金融量化分析
  • 【ESP32】【微信小程序】MQTT物联网智能家居案例
  • 模拟量数据信号采集模块的特点及应用
  • 无需接线!虚幻引擎变量跨次元绑定的无线电奥秘
  • Spring Boot 核心模块全解析:12 个模块详解及作用说明
  • 蓝桥杯 17.发现环
  • springboot对接阿里云大模型
  • 忽略 CS8616 警告在 Visual Studio 2022 中【C# 8.0 】
  • ios17 音频加载失败问题
  • Redis 慢查询分析与优化
  • 蓝桥杯 18.分考场
  • C++之unordered封装
  • 基于Python的设计模式之创建型模型
  • 动手学深度学习——Transformer
  • 14.第二阶段x64游戏实战-分析人物的名字
  • Github 热点项目 Jumpserver开源堡垒机让服务器管理效率翻倍
  • 25.解决中医知识问答删除历史对话功能后端处理请求时抛出异常
  • 前端基础之《Vue(7)—生命周期》
  • 深度学习算法:从基础到实践
  • 第 28 场 蓝桥月赛
  • android framework开发的技能要求
  • HarmonyOS 笔记