k8s创建harbor私有镜像仓库

时间:2022-05-03 12:46:37

1. 部署准备

准备harbor软件包

在部署节点上:

k8s创建harbor私有镜像仓库

mv harbor-offline-installer-v1.4.0.tgz /opt/ && cd /opt
tar zxvf harbor-offline-installer-v1.4.0.tgz
cd harbor

2. 修改配置文件

  harbor.cfg docker-compose.clair.yml

准备ca证书tar包,并解压移动到/data/harbor/cert目录下

k8s创建harbor私有镜像仓库

 

 

 

k8s创建harbor私有镜像仓库

 

 

 

 

找到如下参数,并修为如下配置:

hostname = reg.yunwei.edu
ui_url_protocol = https
ssl_cert = /data/harbor/cert/harbor.crt
ssl_cert_key = /data/harbor/cert/harbor.key
secretkey_path = /data/harbor
harbor_admin_password = admin

ssl_cert = /data/harbor/cert/harbor.crt
ssl_cert_key = /data/harbor/cert/harbor.key

以上为ca证书名称,必须与实际文件同名

 secretkey_path = /data/harbor 为ca证书目录

 docker-compose.clair.yml

找到如下参数,并修为如下配置:

/data/harbor/clair-db:/var/lib/postgresql/data:z

docker-compose.notary.yml

找到如下参数,并修为如下配置:

/data/harbor/notary-db:/var/lib/mysql:z

docker-compose.yml

找到如下参数,并修为如下配置:

/data/harbor/:/var/log/docker/:z
/data/harbor/registry:/storage:z
/data/harbor/database:/var/lib/mysql:z
/data/harbor/config/:/etc/adminserver/config/:z
/data/harbor/secretkey:/etc/adminserver/key:z
/data/harbor/:/data/:z
/data/harbor/secretkey:/etc/ui/key:z
/data/harbor/ca_download/:/etc/ui/ca/:z
/data/harbor/psc/:/etc/ui/token/:z
/data/harbor/job_logs:/var/log/jobs:z
/data/harbor/secretkey:/etc/jobservice/key:z

3. 安装harbor程序

执行安装脚本,部署harbor

(1)在/opt/harbor/目录下sh install.sh

k8s创建harbor私有镜像仓库

 

 

(2)验证harbor是否部署成功:

必须在/opt/harbor/目录下执行docker-compose ps

k8s创建harbor私有镜像仓库

 

 

 

4. 各节点设置登陆harbor私有镜像仓库

为各节点分发ca证书

(1)在每个节点(包括harbor节点)的/etc/docker/目录下,创建certs.d/reg.yunwei.edu/目录

k8s创建harbor私有镜像仓库

 

 

 

 

(2)harbor节点上,将harbor的ca证书中的ca.crt拷贝到/etc/docker目录下

cp /data/harbor/cert/ca.crt /etc/docker/certs.d/reg.yunwei.edu/

 k8s创建harbor私有镜像仓库

(3)将harbor节点的ca.crt文件,分发给各节点的/etc/docker/certs.d/reg.yunwei.edu/下

scp /etc/docker/certs.d/reg.yunwei.edu/ca.crt node1:/etc/docker/certs.d/reg.yunwei.edu/
scp /etc/docker/certs.d/reg.yunwei.edu/ca.crt node1:/etc/docker/certs.d/reg.yunwei.edu/
scp /etc/docker/certs.d/reg.yunwei.edu/ca.crt node1:/etc/docker/certs.d/reg.yunwei.edu/

(4)harbor镜像库验证

命令行:各节点登陆镜像库地址后,输入用户名/密码(admin/admin)后出现 Login Succeeded

docker login reg.yunwei.edu

k8s创建harbor私有镜像仓库

web浏览器:浏览器输入harbor节点ip

k8s创建harbor私有镜像仓库

k8s创建harbor私有镜像仓库

5. 上传镜像到harbor私有镜像仓库

本地镜像重新打tag

(1)例如将如下本地镜像

 k8s创建harbor私有镜像仓库

(2)重新打tag

docker tag itsthenetwork/nfs-server-alpine:latest reg.yunwei.edu/learn/nfs-server-alpine:latest

k8s创建harbor私有镜像仓库

将重新打tag之后的镜像上传到镜像库

docker push reg.yunwei.edu/learn/nfs-server-alpine:latest

k8s创建harbor私有镜像仓库

私有镜像库的使用

(1)在harbor镜像库中查看镜像

k8s创建harbor私有镜像仓库

(2)节点配置好了ca证书的ca.crt后,便可执行如下命令下载镜像。在kubernets集群中节点在启动pod时,会自动下载镜像。

docker pull reg.yunwei.edu/learn/nfs-server-alpine:latest

k8s创建harbor私有镜像仓库