Harbor一键部署——初学者如何快速了解它?

Posted 键客李大白

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Harbor一键部署——初学者如何快速了解它?相关的知识,希望对你有一定的参考价值。

Harbor一键部署——初学者如何快速了解它?_docker

大家好!我是键客李大白,今天分析一个部署Harbor的方法。


1 ​Harbor的5种安装方式

  • 在线安装:​适合初学者快速搭建一个Harbor仓库,简单快速,安装过程需要从官方拉取镜像,资源包带​online​。
  • 离线安装:​适合公司内网环境,离线安装包装载了安装过程需要的镜像(自动导入),资源包带​offline​。
  • 源码安装:​适合开发者对Harbor进行开发和测试,通过编译源码到本地进行安装,安装条件较苛刻,需要了解Harbor底层原理和实现方式的,可选择源码安装的方式​;​
  • Heml Chart:​通过Heml安装Harbor到 kubernetes集群;

每种安装方式都可以实现Habor的高可用(高可用方案官方建议使用kubernetes的安装方式,其他方式官方并不维护),防止单点故障,楼主本篇分享的是【​在线安装​】的部署方式,​需要保证主机能ping通百度​,因为在线安装是从网上下载镜像的。

                     Harbor一键部署——初学者如何快速了解它?_linux_02

2 ​下载安装包

官方下载地址:​​https://github.com/goharbor/harbor/releases​


2.1 官网下载安装包

找到对应的版本(本处以2.3.5,当前最新为2.5.0),建议为2版本。

Harbor一键部署——初学者如何快速了解它?_docker_03

Harbor一键部署——初学者如何快速了解它?_linux_04

还记得带online的包是干嘛的嘛?不记得就翻下笔记!​右键安装包​,选择“​复制链接地址​”

[root@prometheus ~]# yum install  -y wget
[root@prometheus ~]# wget https://github.com/goharbor/harbor/releases/download/v2.3.5/harbor-online-installer-v2.3.5.tgz

    ​说明:​wget命令可从指定路径下载文件到当前主机路径,将“复制链接地址”的链接放到wget后即可下载。


2.2  解压安装包

[root@harbor ~]# tar zxvf harbor-online-installer-v2.3.5.tgz 
harbor/prepare
harbor/LICENSE
harbor/install.sh
harbor/common.sh
harbor/harbor.yml.tmpl
[root@harbor ~]# cd harbor/
[root@harbor harbor]# ls
common.sh harbor.yml.tmpl install.sh LICENSE prepare

说明:

    ​install.sh:​ 安装的脚本;

    ​harbor.yml.tmp1​: 为配置文件模板;

    ​prepare​:准备脚本,将harbor.yml配置文件的内容注入到各组件的配置文件中;

   ​LICENSE:​许可文件;

   common.sh:​安装脚本的工具脚本;


3 ​ 部署环境

  • 操作系统: CentOS-7.8
  • 主机IP:195.168.2.81
  • 资源:2C、4G内存
  • Harbor版本:2.3.5
  • 安装软件:docker-ce-​19.03.8、docker-compose


4 ​安装docker-ce和docker-compose

harbor在线安装是以docker-compose和镜像的方式启动相关服务的。

  • 安装docker-ce(19.03.8)
  • 链接:https://pan.baidu.com/s/1NbM6mlnkkch9bUa67ONICw

    提取码:vgb5


    [root@harbor ~]# tar zxvf docker-ce-rpm.tar.gz
    [root@harbor ~]# cd docker-ce-rpm/
    [root@harbor docker-ce-rpm]# yum install -y ./*.rpm
    [root@harbor docker-ce-rpm]# cd ~
    [root@harbor ~]# systemctl enable --now docker
    [root@harbor ~]# systemctl status docker
    ● docker.service - Docker Application Container Engine
    Loaded: loaded (/usr/lib/systemd/system/docker.service; enabled; vendor preset: disabled)


    • 安装docker-compose

         下载地址:​​https://github.com/docker/compose/releases/download/​

          ​docker-compose的版本在1.18.0+

    # wget https://github.com/docker/compose/releases/download/v2.2.3/docker-compose-linux-x86_64
    # cp docker-compose-linux-x86_64 /usr/local/bin/docker-compose
    # chmod +x /usr/local/bin/docker-compose
    # docker-compose --version //查看版本
    Docker Compose version v2.2.3


    5​ ​配置内核参数

    [root@harbor ~]# modprobe br_netfilter        //加载内核模块(临时)
    [root@harbor ~]# 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
    [root@harbor ~]# sysctl -p //重新加载内核配置

    说明:

        ​net.ipv4.ip_forward​:数据包转发,容器部署的服务是从docker0网卡提供访问的,但流量是从主机的网卡(ens33/eth0/bond0)访问服务,需要开启数据包转发功能(​必须​)。


    6​  修改配置

    • 创建配置文件

    使用安装包的配置文件模板创建配置文件

    [root@harbor harbor]# 
    [root@harbor harbor]# pwd
    /root/harbor
    [root@harbor harbor]# ls
    common.sh harbor.yml.tmpl install.sh LICENSE prepare
    [root@harbor harbor]# cp harbor.yml.tmpl harbor.yml
    • 修改配置
    [root@harbor harbor]# vim harbor.yml
    hostname: 192.168.2.81 //主机名或主机IP地址
    http:
    port: 80

    #https:
    # port: 443
    # certificate: /your/certificate/path
    # private_key: /your/private/key/path

    harbor_admin_password: Harbor12345 //Harbor的登录密码,不需要修改
    _version: 2.3.5 //Harbor版本号,需要修改为当前的版本号

    说明:

      https安装端口需要自己制作证书,来增加Harbor的安全性,本处为在线安装,主要用于测试,将https注释掉;本专栏的离线部署(生产内网)等都会配置https安全,有兴趣可进本专栏阅读。

    配置文件的详细配置见官网(​​https://goharbor.io/docs/2.3.0/install-config/configure-yml-file/​​)

    官网太专业不理解?本专栏也安排了。


    ​安装Harbor

                           Harbor一键部署——初学者如何快速了解它?_linux_05


    • 执行install.sh安装脚本
    # pwd 
    /root/harbor
    # ./install.sh

    过程会从网上拉取镜像,install完成后会自动启动相关服务;

    • 查看服务状态
    [root@harbor harbor]# docker-compose ps
    NAME COMMAND SERVICE STATUS PORTS
    harbor-core "/harbor/entrypoint.…" core running (starting)
    harbor-db "/docker-entrypoint.…" postgresql running (starting)
    harbor-jobservice "/harbor/entrypoint.…" jobservice running (starting)
    harbor-log "/bin/sh -c /usr/loc…" log running (starting) 127.0.0.1:1514->10514/tcp
    harbor-portal "nginx -g daemon of…" portal running (starting)
    nginx "nginx -g daemon of…" proxy running (starting) 0.0.0.0:80->8080/tcp
    redis "redis-server /etc/r…" redis running (starting)
    registry "/home/harbor/entryp…" registry running (starting)
    registryctl "/home/harbor/start.…" registryctl running (starting)

    running状态为正常!

    8​ 登录Harbor

    使用主机IP+端口进行登录: http://192.68.2.81:80 

    Harbor一键部署——初学者如何快速了解它?_linux_06

     登录进去后的界面:     Harbor一键部署——初学者如何快速了解它?_linux_07


    文末思考

    Harbor有哪几种安装方式?它们有何区别?

    无法访问harbor服务怎么排查?


    Harbor一键部署——初学者如何快速了解它?_linux_08

    以上是关于Harbor一键部署——初学者如何快速了解它?的主要内容,如果未能解决你的问题,请参考以下文章

    Harbor 使用 Helm 一键安装

    离线手动部署docker镜像仓库——harbor仓库

    jenkins+docker+gitlab+harbor+pipeline快速部署发版流程

    如何轻松建站?站点一键部署搭建(详细教程)

    Prometheus监控Harbor(二进制版)

    Docker+Harbor+Jenkins+Gitlab自动化CICD构建