Harbor 共享后端高可用-简单版

本文涉及的产品
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
性能测试 PTS,5000VUM额度
简介: 主机配置包括3台服务器,运行Harbor v2.10.0和Docker 24.0.5,其中10.0.90.68额外运行Postgres+Redis。基础安装配置中详细描述了Docker的安装步骤,包括添加仓库、安装、配置国内镜像源和启动Docker。安装postgres+redis服务使用docker-compose.yml文件,通过`docker-compose up -d`命令启动。最后,安装Harbor涉及修改harbor.yml配置文件,设置主机名、数据库和Redis连接信息,然后运行`install.sh`脚本。

1. 主机配置

主机地址 主机配置 软件版本
10.0.90.66 CPU:8C
MEM:8GB
Disk: 100GB
Harbor v2.10.0
Docker 24.0.5
10.0.90.67 CPU:8C
MEM:8GB
Disk: 100GB
Harbor v2.10.0
Docker 24.0.5
10.0.90.68 CPU:8C
MEM:16GB
Disk: 500GB
Postgres+Redis
Docker 24.0.5

2. 基础安装配置(前置工作可跳过)

2.1 Docker 安装教程

2.1.1 安装存储驱动
sudo yum install -y yum-utils device-mapper-persistent-data lvm2
2.1.2 添加 Docker-ce 安装仓库
sudo yum-config-manager --add-repo \
https://download.docker.com/linux/centos/docker-ce.repo
2.1.3 查看与安装所需版本
yum list docker-ce --showduplicates | sort -r
yum -y install docker-ce
2.1.4 配置国内仓库
 {
   
    "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn","https://hub-mirror.c.163.com"],
    "max-concurrent-downloads": 20,
    "live-restore": true,
    "max-concurrent-uploads": 10,
    "debug": true,
    "data-root": "/data/docker_data",
    "exec-root": "/data/docker_exec",
    "log-opts": {
   
      "max-size": "100m",
      "max-file": "5"
    }
}
2.1.5 启动 Docker
systemctl start docker && systemctl enable docker
2.1.6 安装 docker-compose
sudo wget https://github.com/docker/compose/releases/download/1.28.4/docker-compose-Linux-x86_64
sudo mv docker-compose-Linux-x86_64 /usr/local/bin/docker-compose
sudo chmod +x /usr/local/bin/docker-compose
sudo ln -s /usr/local/bin/docker-compose /usr/bin/docker-compose

3. 安装postgres+redis服务

3.1 docker-compose.yml

version: '3.1'

services:
  db:
    image: goharbor/harbor-db:v2.10.0
    container_name: harbor-postgres
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - CHOWN
      - DAC_OVERRIDE
      - SETGID
      - SETUID
    environment:
      POSTGRES_PASSWORD: root123
    volumes:
      - /mnt/data/harbor_db/database:/var/lib/postgresql/data
    ports:
      - 5432:5432
  redis:
    image: goharbor/redis-photon:v2.10.0
    container_name: harbor-redis
    restart: always
    cap_drop:
      - ALL
    cap_add:
      - SETGID
      - SETUID
    environment:
      - TZ=Asia/Shanghai
      - LANG=en_US.UTF-8
    volumes:
      - /mnt/data/harbor_db/redis:/var/lib/redis
    ports:
      - 6379:6379

3.2 安装postgres+redis

docker-compose up -d

4. 安装Harbor

4.1 修改harbor.yml

以下仅为需要修改的配置

hostname: harbor.abc.com

http:
  port: 30080

https:
  port: 30443
  certificate: /mnt/gpfs/liuhuan/cert/10932648_harbor.abc.com_nginx/harbor.abc.com.pem
  private_key: /mnt/gpfs/liuhuan/cert/10932648_harbor.abc.com_nginx/harbor.abc.com.key

external_url: https://harbor.abc.com

harbor_admin_password: Harbor123456

data_volume: /mnt/harbor_data

log:
  level: info
  local:
    rotate_count: 50
    rotate_size: 200M
    location: /mnt/harbor_data/log

external_database:
  harbor:
    host: 10.0.90.66
    port: 5432
    db_name: registry
    username: postgres
    password: root123
    ssl_mode: disable
    max_idle_conns: 2
    max_open_conns: 0
  notary_signer:
    host: 10.0.90.68
    port: 5432
    db_name: notarysigner
    username: postgres
    password: root123
    ssl_mode: disable
  notary_server:
    host: 10.0.90.68
    port: 5432
    db_name: notaryserver
    username: postgres
    password: root123
    ssl_mode: disable

external_redis:
  host: 10.0.90.68:6379
  password:

4.2 安装harbor

./install.sh
相关实践学习
基于Redis实现在线游戏积分排行榜
本场景将介绍如何基于Redis数据库实现在线游戏中的游戏玩家积分排行榜功能。
云数据库 Redis 版使用教程
云数据库Redis版是兼容Redis协议标准的、提供持久化的内存数据库服务,基于高可靠双机热备架构及可无缝扩展的集群架构,满足高读写性能场景及容量需弹性变配的业务需求。 产品详情:https://www.aliyun.com/product/kvstore     ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
3月前
|
JSON API 网络架构
Django 后端架构开发:DRF 高可用API设计与核心源码剖析
Django 后端架构开发:DRF 高可用API设计与核心源码剖析
60 0
|
4月前
|
存储 安全 Java
Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
Java面试题:假设你正在开发一个Java后端服务,该服务需要处理高并发的用户请求,并且对内存使用效率有严格的要求,在多线程环境下,如何确保共享资源的线程安全?
65 0
|
弹性计算 运维 负载均衡
【运维】使用HAproxy配置后端数据库集群 高可用及负载均衡
后端mariadb数据库galera_cluster集群参考之前文档,https://developer.aliyun.com/article/849929
1998 5
【运维】使用HAproxy配置后端数据库集群 高可用及负载均衡
|
消息中间件 运维 Kubernetes
Sentry(v20.12.1) K8S云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能高可用+可扩展可伸缩集群部署
Sentry(v20.12.1) K8S云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能高可用+可扩展可伸缩集群部署
995 0
Sentry(v20.12.1) K8S云原生架构探索,玩转前/后端监控与事件日志大数据分析,高性能高可用+可扩展可伸缩集群部署
|
缓存 Java 应用服务中间件
高可用后端架构设计实战-利用request cache请求缓存优化批量查询接口
高可用后端架构设计实战-利用request cache请求缓存优化批量查询接口
236 0
高可用后端架构设计实战-利用request cache请求缓存优化批量查询接口
|
NoSQL 关系型数据库 MySQL
Harbor HA部署-使用Ceph RADOS后端
目录1. 前言2. 配置Ceph radosgw用户3. 部署HA的MariaDB集群4. 部署HA的Redis集群5. 部署Harbor集群参考资料   1. 前言 Harbor 1.4.0版本开始提供了HA部署方式,和非HA的主要区别就是把有状态的服务分离出来,使用外部集群,而不是运行在本地的容器上。
3559 0
|
Web App开发 算法 NoSQL
app后端session共享问题
在分布式中,session如何共享,用户登陆要解决的问题如下图所示,通过nignx请求转发,到不同的应用模块中,需要判断用户有没有登陆验证通过,问题又来了,app的移动端不像浏览器,没有cookie,session,那么怎么搞呢?这时可以使用session外置方式解决,用redis统一管理session,用redis来模拟session。
1129 0
|
2天前
|
存储 JavaScript Java
后端开发的艺术:从新手到专家的旅程
在数字化时代,后端开发是构建现代应用程序不可或缺的一部分。本文将探讨后端开发的核心概念、技术栈选择、最佳实践以及如何从初学者成长为专家。我们将通过一系列实用的建议和策略,帮助读者理解并掌握后端开发的精髓,从而在这个充满挑战和机遇的领域中取得成功。