K8s:harbor

harbor

1、作用
首先:我们为什么要用harbor ?到底是解决了什么问题 ?

Harbor是镜像仓库,那么就应当是存储镜像的,这个可能是大多数接触harbor的人的一个误区,当深入了解以后才发现,镜像的存储harbor使用的是官方的docker registry服务去完成,至于registry是用本地存储或者s3都是可以的,harbor的功能是在此之上提供用户权限管理、镜像复制等功能,提高使用的registry的效率。

2、Harbor跟registry对比
Registry有以下缺点:
# 没有图形界面
# 没有项目管理
# 没有用户权限控制
# 看不到镜像操作记录


Harbor的优势:
#图形管理界面。
#按项目管理镜像。
#独立的用户管理,不同用户可以操作不同镜像,细粒度的权限控制,包含create、push 、pull、delete。
#镜像管理。
#标签管理。
#操作日志管理。
3、使用

注意:安装harbor需要docker-compose

1、先安装docker或者containerd

###用脚本安装
E:\k8s\shell\containerd					###脚本目录(本地地址)

1、本脚本就是为了安装docker和containerd

2、安装docker也会安装docker-compose

### 执行安装脚本。(注意:对docker-compose对docker版本有要求、需要1.189以上版本)
	安装docker-compose: 
	1、直接去github下载  wget下载下来
	2、chmod 加执行权限
	3、拷贝到  /usr/local/bin/  目录下  修改成docker-compose
	4、直接执行


3、进入之后解压缩、然后去执行(我这里是有一个脚本、里面包含了工具和仓库安装包) 

[root@207 src]#cd  /usr/local/src

[root@207 src]#tar -xvf runtime-docker20.10.19-containerd1.6.20-binary-install.tar.gz 

[root@207 src]#bash   runtime-install.sh    (传递参数:docker或者containerd)

2、安装harbor

####1、下载资源包

E:\k8s\harbor_install_package			###安装包下载(本地地址)


###1、创建证书目录
mkdir  /apps/harbor/certs

###2、解压缩到/usr/local/bin/   拷贝模板yaml文件
###3、修改主机名
hostname: harbor.51lianlian.cn
###4、http默认、不使用https就注释掉

###5、密码和用户名
###6、修改数据存储位置(使用一个数据盘、单独挂载、防止系统出问题恢复不了)、然后添加到  /etc/fstab
###7、NFS共享数据目录

###NFS共享
#服务端
[root@207 ~]#vim /etc/exports
/data/harbor  *(rw,no_root_squash,no_subtree_check)

#客户端
[root@207 ~]#vim /etc/fstab 
10.0.0.206:/data/harbor  /data/harbor      nfs defaults 0 1

[root@207 ~]#mount  -a

最后执行安装脚本

3、存放证书(把SSL证书下载下来、nginx格式、放到此位置)

###下载后存放在/apps/harbor/certs

/apps/harbor/certs/51lianlian.cn.pem
/apps/harbor/certs/51lianlian.cn.key

4、

###执行脚本启动
[root@207 harbor]#/apps/harbor/install.sh  --with-trivy

5、开机自启动

###https://blog.csdn.net/qq_17054989/article/details/96871639

###编辑文件/lib/systemd/system/harbor.service
[Unit]
Description=Harbor
After=docker.service systemd-networkd.service systemd-resolved.service
Requires=docker.service
Documentation=http://github.com/vmware/harbor

[Service]
Type=simple
Restart=on-failure
RestartSec=5
ExecStart=/usr/bin/docker-compose -f  /apps/harbor/docker-compose.yml up
ExecStop=/usr/bin/docker-compose -f /apps/harbor/docker-compose.yml down

[Install]
WantedBy=multi-user.target


systemctl  daemon-reload
systemctl enable harbor
systemctl start harbor
posted @ 2024-07-26 17:06  姬高波  阅读(47)  评论(0)    收藏  举报