harbor镜像仓库的部署

前面介绍了harbor镜像仓库的基本概念,接下进行harbor的部署

一、harbor仓库的搭建(http模式)

准备条件: 系统要安装docker,有docker-compose命令
下载离线包:

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

上传至系统进行解压:

tar -zxvf harbor-offline-installer-v2.1.1.tgz -C /harbor-2.1.1

进入解压目录,加载镜像文件

[root@k8s-master-1 ~]# cd /harbor-2.1.1/harbor/
[root@k8s-master-1 harbor]# docker load -i harbor.v2.1.1.tar.gz
拷贝配置文件,如下:
[root@k8s-master-1 harbor]# ll
total 538832
-rw-r--r-- 1 root root      3361 Oct 23 11:57 common.sh
-rw-r--r-- 1 root root 551729054 Oct 23 11:58 harbor.v2.1.1.tar.gz
-rw-r--r-- 1 root root      8136 Oct 23 11:57 harbor.yml.tmpl
-rwxr-xr-x 1 root root      2523 Oct 23 11:57 install.sh
-rw-r--r-- 1 root root     11347 Oct 23 11:57 LICENSE
-rwxr-xr-x 1 root root      1881 Oct 23 11:57 prepare
[root@k8s-master-1 harbor]# cp harbor.yml.tmpl harbor.yml
编辑配置文件harbor.yml,主要修改以下几项:
hostname = 1.68.5.94
http:        ####此处配置的http,
  port: 80
harbor_admin_password = Harbor12345      ###用户名密码
data_volume: /data    ###数据存放路径

开始安装

执行以下命令
[root@k8s-master-1 harbor]# ./prepare 
[root@k8s-master-1 harbor]# sh install.sh

########################
启用或者停止harbor,可使用以下命令
 docker-compose -f docker-compose.yml  down/up -d

结束之后使用本地地址登录页面,默认端口为80,如下:
在这里插入图片描述
本地docker添加信任,编辑vim /etc/docker/daemon.json,添加一下内容:
如果不添加信任,本地登录时会出现验证问题

{  
   "insecure-registries": [ "1.68.5.94" ] 
}  
重启docker,systemctl restart docker 

本地测试登录,如下:

[root@k8s-master-1 ~]# docker login 1.68.5.94
Username: admin
Password: 
WARNING! Your password will be stored unencrypted in /root/.docker/config.json.
Configure a credential helper to remove this warning. See
https://docs.docker.com/engine/reference/commandline/login/#credentials-store

Login Succeeded
[root@k8s-master-1 ~]# 

二、harbor仓库的搭建(https模式)

准备条件: 系统要安装docker,有docker-compose命令
下载离线包:

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

上传至系统进行解压:

tar -zxvf harbor-offline-installer-v2.1.1.tgz -C /harbor/

进入解压目录,加载镜像文件

[root@k8s-master-1 ~]# cd /harbor-2.1.1/harbor/
[root@k8s-master-1 harbor]# docker load -i harbor.v2.1.1.tar.gz
拷贝配置文件,如下:
[root@k8s-master-1 harbor]# ll
total 538832
-rw-r--r-- 1 root root      3361 Oct 23 11:57 common.sh
-rw-r--r-- 1 root root 551729054 Oct 23 11:58 harbor.v2.1.1.tar.gz
-rw-r--r-- 1 root root      8136 Oct 23 11:57 harbor.yml.tmpl
-rwxr-xr-x 1 root root      2523 Oct 23 11:57 install.sh
-rw-r--r-- 1 root root     11347 Oct 23 11:57 LICENSE
-rwxr-xr-x 1 root root      1881 Oct 23 11:57 prepare
[root@k8s-master-1 harbor]# cp harbor.yml.tmpl harbor.yml
编辑配置文件harbor.yml,主要修改以下几项:
hostname = 1.68.5.94
https:
  port: 443
  certificate: /data/cert
  private_key: /data/cart
harbor_admin_password = Harbor12345      ###用户名密码
data_volume: /data    ###数据存放路径

创建CA证书

mkdir -p /data/cert
cd /data/cert

生成CA的key

cd /data/cert
openssl genrsa -out ca.key 4096

生成 CA 的 crt

cd /data/cert
openssl req -x509 -new -nodes -sha512 -days 3650 \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=chinatelecom/OU=ecloudcaas/CN=1.68.5.94" \
    -key ca.key \
    -out ca.crt

生成自己ip的 key

cd /data/cert
openssl genrsa -out 1.68.5.94.key 4096

生成自己ip的 csr

cd /data/cert
openssl req -sha512 -new \
    -subj "/C=CN/ST=Beijing/L=Beijing/O=chinatelecom/OU=ecloudcaas/CN=1.68.5.94" \
    -key 1.68.5.94.key \
    -out 1.68.5.94.csr 

生成一个 openssl 命令需要的外部配置文件

主要是subjectAltName,这里写的IP.1=yourip还可以写DNS.1=yourdomainname
cd /data/cert
cat > v3.ext <<-EOF
authorityKeyIdentifier=keyid,issuer
basicConstraints=CA:FALSE
keyUsage = digitalSignature, nonRepudiation, keyEncipherment, dataEncipherment
extendedKeyUsage = serverAuth 
subjectAltName = @alt_names
[alt_names]
IP=1.68.5.94
EOF

通过 ext 和 csr 生成 crt

cd /data/cert
openssl x509 -req -sha512 -days 3650 \
   -extfile v3.ext \
   -CA ca.crt -CAkey ca.key -CAcreateserial \
   -in 1.68.5.94.csr \
   -out 1.68.5.94.crt

将服务端的 crt 转换成客户端用的 cert

cd /data/cert
openssl x509 -inform PEM -in 1.68.5.94.crt -out 1.68.5.94.cert

将带IP的 cert,key 和 ca.crt 拷贝到 docker client 所在主机的 /etc/docker/certs.d/yourdomain/ 目录下

mkdir -p /etc/docker/cert.d/1.68.5.94
cp /data/cert/1.68.5.94.cert /etc/docker/cert.d/1.68.5.94/
cp /data/cert/1.68.5.94.key /etc/docker/cert.d/1.68.5.94/
cp /data/cert/ca.crt /etc/docker/cert.d/1.68.5.94/

本地docker添加信任,编辑vim /etc/docker/daemon.json,添加一下内容:
如果不添加信任,本地登录时会出现验证问题

{  
   "insecure-registries": [ "1.68.5.94" ] 
}  
重启docker,
systemctl daemon-reload
systemctl restart docker 

开始安装

执行以下命令
[root@k8s-master-1 harbor]# ./prepare 
[root@k8s-master-1 harbor]# sh install.sh
之后会提示使用https://1.68.5.94登录
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值