栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

harbor镜像仓库的部署

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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登录
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865127.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号