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

要须心地收汗马,孔孟行世目杲杲。这篇文章主要讲述Harbor一键部署——初学者如何快速了解它?相关的知识,希望能为你提供帮助。

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


??1 ?Harbor的5种安装方式?

  • ?在线安装:?适合初学者快速搭建一个Harbor仓库,简单快速,安装过程需要从官方拉取镜像,资源包带?online?。
  • ?离线安装:?适合公司内网环境,离线安装包装载了安装过程需要的镜像(自动导入),资源包带?offline?。
  • ?源码安装:?适合开发者对Harbor进行开发和测试,通过编译源码到本地进行安装,安装条件较苛刻,需要了解Harbor底层原理和实现方式的,可选择源码安装的方式?;???
  • ?Heml Chart:?通过Heml安装Harbor到 kubernetes集群;
?每种安装方式都可以实现Habor的高可用(高可用方案官方建议使用kubernetes的安装方式,其他方式官方并不维护),防止单点故障,楼主本篇分享的是【?在线安装?】的部署方式,?需要保证主机能ping通百度?,因为在线安装是从网上下载镜像的。?
                                         
??2 ?下载安装包?
官方下载地址:??https://github.com/goharbor/harbor/releases??
【Harbor一键部署——初学者如何快速了解它()】

2.1 官网下载安装包找到对应的版本(本处以2.3.5,当前最新为2.5.0),建议为2版本。


还记得带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.shharbor.yml.tmplinstall.shLICENSEprepare

说明:
    ?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]# yuminstall-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
    # cpdocker-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.shharbor.yml.tmplinstall.shLICENSEprepare
    [root@harbor harbor]# cp harbor.yml.tmplharbor.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/??)
    官网太专业不理解?本专栏也安排了。


    ??7  ?安装Harbor?
                           


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

    过程会从网上拉取镜像,install完成后会自动启动相关服务;
    • ?查看服务状态?
    [root@harbor harbor]# docker-compose ps
    NAMECOMMANDSERVICESTATUSPORTS
    harbor-core"/harbor/entrypoint.…"corerunning (starting)
    harbor-db"/docker-entrypoint.…"postgresqlrunning (starting)
    harbor-jobservice"/harbor/entrypoint.…"jobservicerunning (starting)
    harbor-log"/bin/sh -c /usr/loc…"logrunning (starting)127.0.0.1:1514-> 10514/tcp
    harbor-portal"nginx -g daemon of…"portalrunning (starting)
    nginx"nginx -g daemon of…"proxyrunning (starting)0.0.0.0:80-> 8080/tcp
    redis"redis-server /etc/r…"redisrunning (starting)
    registry"/home/harbor/entryp…"registryrunning (starting)
    registryctl"/home/harbor/start.…"registryctlrunning (starting)

    running状态为正常!
    ??8? 登录Harbor?
    使用主机IP+端口进行登录: http://192.68.2.81:80 

      登录进去后的界面:         


    ?文末思考?
    Harbor有哪几种安装方式?它们有何区别?
    无法访问harbor服务怎么排查?




      推荐阅读