wm harbor 默认密码_Harbor配置https

之前安装的harbor都是基于http,需要修改docker的/etc/docker/daemon.json文件,新增insecure-registries配置,这样又需要重启下docker服务了。为了减少对正在运行的容器服务影响,我们可以配置harbor支持https来解决。

52d39bac23cdd9384e6ce69dc25a2fb3.png

以下内容大部分来自harbor的官方文档的参考。Harbor https证书可以使用由受信任的第三方CA签名的证书,也可以使用自签名证书。

https://goharbor.io/docs/2.0.0/install-config/configure-https/

本文我们参考官方文档,采用openssl生成自签名证书

准备工作

1.harbor离线包下载

wget https://github.com/goharbor/harbor/releases/download/v2.1.0/harbor-offline-installer-v2.1.0.tgz

2.安装docker和docker-compose

略。。。

f935a2b580dd149374fa260495c06fce.png

3.检查下主机hosts添加下主机名的解析,harbor域名本机ip解析(或者你加入dns)

证书生成

1.生成CA证书私钥

openssl genrsa -out ca.key 4096

2.生成CA证书

openssl req -x509 -new -nodes -sha512 -days 3650  -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com"  -key ca.key  -out ca.crt

3.生成服务器证书私钥

openssl genrsa -out yourdomain.com.key 4096

4.生成服务器证书签名请求(CSR)

openssl req -sha512 -new     -subj "/C=CN/ST=Beijing/L=Beijing/O=example/OU=Personal/CN=yourdomain.com"     -key yourdomain.com.key     -out yourdomain.com.csr

5.生成一个x509 v3扩展文件

cat > v3.ext <

6.使用该v3.ext文件为您的Harbor主机生成证书

openssl x509 -req -sha512 -days 3650     -extfile v3.ext     -CA ca.crt -CAkey ca.key -CAcreateserial     -in yourdomain.com.csr     -out yourdomain.com.crt

7.分发证书给harbor使用

cp yourdomain.com.crt /data/cert/  cp yourdomain.com.key /data/cert/

8.转换yourdomain.com.crt为yourdomain.com.cert,供Docker使用

Docker守护程序将.crt文件解释为CA证书,并将.cert文件解释为客户端证书。

openssl x509 -inform PEM -in yourdomain.com.crt -out yourdomain.com.cert

9.将服务器证书,密钥和CA文件复制到Harbor主机上的Docker证书文件夹中

cp yourdomain.com.cert /etc/docker/certs.d/yourdomain.com/cp yourdomain.com.key /etc/docker/certs.d/yourdomain.com/cp ca.crt /etc/docker/certs.d/yourdomain.com/

10.需要在操作系统级别信任证书(重要)

红帽系列(centos)

cp yourdomain.com.crt /etc/pki/ca-trust/source/anchors/yourdomain.com.crtupdate-ca-trust

Ubuntu:

cp yourdomain.com.crt /usr/local/share/ca-certificates/yourdomain.com.crt update-ca-certificates

11.重启docker服务

systemctl restart docker.service

步骤比较繁多,写了一个简单的自签名证书生成脚本

以下脚本以reg.koudai.com为例生成证书,并分发到harbor和docker

#!/bin/bash# 直接在该目录下操作生成证书,正好供harbor.yml使用mkdir -p /data/certcd /data/certopenssl genrsa -out ca.key 4096openssl req -x509 -new -nodes -sha512 -days 3650 -subj "/C=CN/ST=Shanghai/L=Shanghai/O=example/OU=Personal/CN=reg.koudai.com" -key ca.key -out ca.crtopenssl genrsa -out reg.koudai.com.key 4096openssl req -sha512 -new -subj "/C=CN/ST=Shanghai/L=Shanghai/O=example/OU=Personal/CN=reg.koudai.com" -key reg.koudai.com.key -out reg.koudai.com.csrcat > v3.ext <

配置harbor.yml

1.解压harbor离线安装包到/usr/local下

tar xvf harbor-offline-installer-v2.1.0.tgz -C /usr/local/

2.修改harbor.yml文件

[root@gfs harbor]# cat harbor.yml# Configuration file of Harbor# The IP address or hostname to access admin UI and registry service.# DO NOT use localhost or 127.0.0.1, because Harbor needs to be accessed by external clients.hostname: reg.koudai.com# http related confighttp:  # port for http, default is 80. If https enabled, this port will redirect to https port  port: 80# https related confighttps:  # https port for harbor, default is 443  port: 443  # The path of cert and key files for nginx  certificate: /data/cert/reg.koudai.com.crt  private_key: /data/cert/reg.koudai.com.key

改这几行就行了。

然后执行docker-compose文件生成脚本,直接在当前目录下执行

./prepare # 生成docker-compose文件docker-compose up -d # 启动docker-compose

验证

自己电脑加下hosts解析,然后在浏览器打开https://reg.koudai.com,由于是自签名的忽略下告警,继续就可以打开harbor

服务器上docker login验证。直接在服务器执行docker login reg.koudai.com ,输入你配置的用户名和密码即可,或者直接使用harbor默认的用户名和密码(这里仅仅是测试,harbor默认的密码,配置文件里未修改)用户名:admin 密码:Harbor12345

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值