# 2021-01-09 #「Harbor」- 安装

博客介绍了安装 Harbor 服务的环境要求,包括 Python、Docker、Docker Compose,系统为 CentOS 7.4,Harbor 版本 1.7.5。详细说明了安装步骤,如安装 Docker 环境、Certbot 命令申请证书等。还提及了 Certbot 相关问题,如配置证书路径、复制证书等,以及 cert renew 后使用新证书的操作。

环境要求

Python,Docker,Docker Compose

CentOS 7.4 and Harbor 1.7.5

Installation and Configuration Guide
Configuring Harbor with HTTPS Access

安装 Harboar 服务

1)安装 Docker 环境,参考 Installing DockerDocker Compose 笔记;
3)安装 Certbot 命令,申请证书(1)Certbot 笔记;
4)安装 Harobor 服务:

#!/bin/sh

# 下载离线安装包
# https://github.com/goharbor/harbor/releases/tag/v1.7.5

# 修改 harbor.cfg 文件

# 执行 install.sh 进行安装

################################################################################
# !!!如果需要修改配置文件
################################################################################
docker-compose down -v
vim ./harbor.cfg
./prepare
docker-compose up -d

关于 Certbot 问题

1)在配置文件 ./harbor.cfg 中设置证书路径,使用 certbot 申请的证书(位于 /etc/letsencrypt/ 目录);
2)执行 ./prepare 命令将证书复制到 /path/to/harboar/common/config/nginx/cert/ 目录
3)Harbor 的 Nginx 服务使用在 /path/to/harboar/common/config/nginx/cert/ 中的证书
x
也就是说,在 cert renew 后,如果想要使用新的证书,需要进行“配置文件修改”步骤:

certbot renew 
./prepare
docker-compose restart proxy #  Nginx 服务
harbor-core | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs portal Attaching to harbor-portal harbor-portal | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs postgresql Attaching to harbor-db harbor-db | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs proxy Attaching to nginx nginx | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs jobservice Attaching to harbor-jobservice harbor-jobservice | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs log Attaching to harbor-log [root@op-harbor1 harbor]# docker-compose logs registry Attaching to registry registry | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs registryctl Attaching to registryctl registryctl | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs portal Attaching to harbor-portal harbor-portal | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs redis Attaching to redis redis | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs core Attaching to harbor-core harbor-core | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs jobservice Attaching to harbor-jobservice harbor-jobservice | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# docker-compose logs proxy Attaching to nginx nginx | WARNING: no logs are available with the 'syslog' log driver [root@op-harbor1 harbor]# 重启harbor 后恢复正常,定位不到问题,该怎么处理
08-12
你提到 Harbor 页面出现“假死”现象,但在重启 Harbor 后恢复正常。然而由于所有容器日志均提示: ``` WARNING: no logs are available with the 'syslog' log driver ``` 这说明 Harbor 的 `docker-compose.yml` 配置中启用了 `syslog` 作为日志驱动,但当前环境中没有配置 syslog 服务器,因此无法查看容器日志。这给问题的后续定位带来了困难。 --- ### 🚨 问题分析 #### 1. 日志驱动配置问题 Harbor 的 `docker-compose.yml` 文件中为所有服务配置了如下日志驱动: ```yaml logging: driver: syslog options: syslog-address: "tcp://127.0.0.1:514" ``` 但系统中没有运行 syslog 服务(如 `rsyslog` 或 `syslog-ng`),导致日志无法输出。 #### 2. 重启后问题消失 这可能是由于临时性资源不足、数据库连接超时、缓存异常等导致的偶发问题。但由于没有日志,无法定位具体原因。 --- ### ✅ 解决方案 #### 1. 修改日志驱动为 `json-file`(推荐) 编辑 `docker-compose.yml` 文件,将日志驱动改为 `json-file`,以便通过 `docker-compose logs` 查看日志: ```yaml logging: driver: json-file options: max-size: "10m" max-file: "3" ``` 然后重启 Harbor: ```bash docker-compose down docker-compose up -d ``` 这样你就可以使用: ```bash docker-compose logs harbor-core docker-compose logs nginx ``` 等命令查看详细日志。 --- #### 2. 配置 syslog 服务(可选) 如果你希望继续使用 syslog 日志驱动,需要安装并配置 syslog 服务(如 `rsyslog`): ```bash yum install rsyslog -y systemctl enable rsyslog systemctl start rsyslog ``` 然后配置 rsyslog 接收 TCP/UDP 日志(修改 `/etc/rsyslog.conf` 和 `/etc/rsyslog.d/` 中的配置),并重启 Harbor--- #### 3. 启用 Prometheus + Grafana 监控(推荐) 为 Harbor 配置监控系统,可以实时查看服务状态、资源使用情况和性能指标,有助于问题的快速定位。 - Harbor 提供了 `/metrics` 接口用于监控。 - 可以使用 Prometheus 抓取这些指标。 - 配合 Grafana 展示图表。 --- #### 4. 查看系统资源和数据库状态 - 使用 `docker stats` 查看容器资源使用情况。 - 进入数据库容器查看是否有慢查询或锁表: ```bash docker exec -it harbor-db psql -U postgres \dt SELECT * FROM pg_stat_statements ORDER BY total_time DESC LIMIT 10; ``` --- ### ✅ 小结:如何防止类似问题再次发生? | 问题 | 解决方案 | |------|----------| | 无法查看日志 | 改为 `json-file` 日志驱动 | | 日志丢失 | 配置 syslog 服务或使用日志收集系统(如 ELK、Fluentd) | | 偶发性假死 | 配置监控系统(Prometheus + Grafana) | | 数据库性能问题 | 检查慢查询、索引、连接数 | | 容器资源瓶颈 | 使用 `docker stats` 监控 CPU/内存/网络 | ---
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值