李大白

V1

2022/07/12阅读:34主题:自定义主题1

【1】Harbor在线安装:3分钟体验Harbor

作者| 李大白


Harbor简介

Harbor 是个开源云原生制品(artifact)仓库,是首个原创于中国、并且成为 CNCF 第11个毕业级的开源项目。用户可通过策略和基于角色的访问控制来保护制品(如容器镜像、Helm Chart 等),扫描镜像并避免受安全漏洞的危害。
Harbor 扩展了开源项目 Docker Distribution,添加了用户所需的功能(例如安全性,身份,漏洞扫描和管理)。
在环境中部署 Harbor 可以提高镜像传输效率,便于就近构建和运行容器应用。
Harbor 支持在制品仓库之间复制镜像、Chart 等制品,并提供高级安全功能,例如用户管理、访问控制和操作审计等。
\

Harbor几种安装方式

Harbor提供以下几种安装方式,以适应不同的安装环境。

  • 在线安装:适合初学者快速搭建一个Harbor仓库,简单快速,安装过程需要从官方拉取镜像,资源包带online

  • 离线安装:适合公司内网环境,离线安装包装载了安装过程需要的镜像(自动导入),资源包带offline

  • 源码安装:适合开发者对Harbor进行开发和测试,通过编译源码到本地进行安装,安装条件较苛刻,需要了解Harbor底层原理和实现方式的,可选择源码安装的方式

  • Heml Chart:通过Heml安装Harbor到kubernetes集群;

  • Operater安装Harbor Operator提供了可深度定制的能力,用户通过配置顶级 CRD HarborCluster,根据实际需要定义和配置自己的 Harbor 组件。

每种安装方式都可以实现Habor的高可用(高可用方案官方建议使用kubernetes的安装方式,其他方式官方并不维护),防止单点故障。
基于离线安装方式的高可用方案见公众号《Harbor进阶实在》的另外一篇文章!


部署环境

  • 操作系统:CentOS 7.5
  • VMWare Workstation 16
  • Harbor版本: v2.3.5
  • 主机IP:192.168.2.190
  • 主机配置:2CPU、4G内存

Harbor主机初始化

Harbor部署需要主机有一定的环境,主要有以下几个点对主机进行初始化操作。

4.1 安装docker-ce

Harbor不论是以哪一种方式安装,每个组件都是以容器的方式运行的,所以需要安装docker-ce来启动容器。 本处安装的是Harbor v2.3.5,对应的docker版本是17.06.0-ce+都可以,本处安装

""\

4.2 安装docker-compose

docker-compose的版本在1.18.0+

$ mv docker-compose-linux-x86_64   /usr/local/bin/docker-compose
$ chmod +x   /usr/local/bin/docker-compose
$ docker-compose -v
docker-compose version 1.29.2, build 5becea4c

4.3 配置内核参数

$ modprobe br_netfilter     //加载内核模块(临时)
$ cat > /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 1
net.bridge.bridge-nf-call-ip6tables = 1
net.bridge.bridge-nf-call-iptables = 1
EOF 
$ sysctl -p

net.ipv4.ip_forward=1 :开启路由转发
不配置该参数,当主机重启后,服务状态正常,却无法访问到服务器。

五、Harbor部署

5.1 下载并解压安装包

从官方Github项目地址下载离线安装包\

$ wget https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-online-installer-v2.3.5.tgz
$ tar zxvf harbor-online-installer-v2.3.5.tgz
cd harbor

5.2 创建并修改配置文件

根据配置文件模板复制为配置文件\

$ cp harbor.yml.tmpl  harbor.yml

修改配置文件

$ vim harbor.yml
hostname: 192.168.2.190   #主机名称或者IP地址
#https:   #不使用https安全加密端口
#  port: 443
#  certificate: /your/certificate/path
#  private_key: /your/private/key/path

5.3 生成各个组件的配置

$ ./prepare

该过程会下载基础镜像,然后在当前common/config/下生成各个组件的配置文件。

5.4 安装Harbor

 $ ./install.sh --with-trivy  --with-chartmuseum

--with-trivy:启用Trivy镜像漏洞扫描插件;
--with-chartmuseum:启用Helm Chart组件;
--with-notary : 如果启用安全加密端口https可添加该参数(本处不添加);

安装过程会拉取镜像,需要等段时间!
安装完成后出现以下信息则表示安装成功:

? ----Harbor has been installed and started successfully.----

5.5 查看Harbor服务状态

$ docker-compose   ps

ps: STATUS列状态为Running则表示对应的组件服务正常!


登录Harbor UI界面

在浏览器输入地址:http://192.168.2.190:80
用户名:admin
密码:Harbor12345

推荐阅读

  • 基于离线安装方式的高可用方案设计与部署
  • Prometheus监控Harbor
  • Loki实现Harbor的批量日志管理

分类:

后端

标签:

运维部署

作者介绍

李大白
V1