zoukankan      html  css  js  c++  java
  • Harbor安装配置教程

    介绍

    引用https://www.oschina.net/p/harbor?hmsr=aladdin1e1

    Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server 开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA 等企业必需的功能,同时针对中国用户的特点,设计镜像复制和中文支持等功能。

    作为一个企业级私有 Registry 服务器,Harbor 提供了更好的性能和安全。提升用户使用 Registry 构建和运行环境传输镜像的效率。Harbor 支持安装在多个 Registry 节点的镜像资源复制,镜像全部保存在私有 Registry 中, 确保数据和知识产权在公司内部网络中管控。另外,Harbor 也提供了高级的安全特性,诸如用户管理,访问控制和活动审计等。

    • 基于角色的访问控制 - 用户与 Docker 镜像仓库通过“项目”进行组织管理,一个用户可以对多个镜像仓库在同一命名空间(project)里有不同的权限。

    • 镜像复制 - 镜像可以在多个 Registry 实例中复制(同步)。尤其适合于负载均衡,高可用,混合云和多云的场景。

    • 图形化用户界面 - 用户可以通过浏览器来浏览,检索当前 Docker 镜像仓库,管理项目和命名空间。

    • AD/LDAP 支持 - Harbor 可以集成企业内部已有的 AD/LDAP,用于鉴权认证管理。

    • 审计管理 - 所有针对镜像仓库的操作都可以被记录追溯,用于审计管理。

    • 国际化 - 已拥有英文、中文、德文、日文和俄文的本地化版本。更多的语言将会添加进来。

    • RESTful API - RESTful API 提供给管理员对于 Harbor 更多的操控, 使得与其它管理软件集成变得更容易。

    • 部署简单 - 提供在线和离线两种安装工具, 也可以安装到 vSphere 平台(OVA 方式)虚拟设备。

    基础准备

    Harbor
    需要在Docker与Docker-compose组件上运行

    安装docker

    https://www.cnblogs.com/iXiAo9/p/13627801.html

    安装docker-compose

    下载harbor

    https://github.com/goharbor/harbor/releases
    选择一个版本,这里做实验使用最新版。
    生产环境请使用稳定版

    安装harbor

    上传到服务器上,进行解压操作

    tar xvf harbor-offline-installer-v2.1.0-rc2.tgz
    

    配置文件修改

    拷贝配置文件样板

    cp harbor.yml.tmpl harbor.yml
    

    修改hostname为服务器ip

    并注释掉https目前先不配置证书

    每次修改配置文件的后都要重新执行prepare否则配置文件不生效

    第一次安装就不需要执行了

    启动harbor

    执行启动脚本,会自动load镜像并更新变量

    ./install.sh
    

    查看一下当前输出

    [Step 0]: checking if docker is installed ...
    
    Note: docker version: 18.09.9
    
    [Step 1]: checking docker-compose is installed ...
    
    Note: docker-compose version: 1.25.0
    
    [Step 2]: loading Harbor images ...
    
    70379f503788: Loading layer [==================================================>]   34.5MB/34.5MB
    9c1567ed7ed1: Loading layer [==================================================>]   7.91MB/7.91MB
    f0de3a025b59: Loading layer [==================================================>]  3.584kB/3.584kB
    cfeb48785a32: Loading layer [==================================================>]   2.56kB/2.56kB
    f1a2786f08dc: Loading layer [==================================================>]  62.26MB/62.26MB
    50069e2f2d36: Loading layer [==================================================>]  63.08MB/63.08MB
    ...
    ...
    ...
    [Step 3]: preparing environment ...
    
    [Step 4]: preparing harbor configs ...
    prepare base dir is set to /harbor
    WARNING:root:WARNING: HTTP protocol is insecure. Harbor will deprecate http protocol in the future. Please make sure to upgrade to https
    Generated configuration file: /config/portal/nginx.conf
    Generated configuration file: /config/log/logrotate.conf
    Generated configuration file: /config/log/rsyslog_docker.conf
    Generated configuration file: /config/nginx/nginx.conf
    Generated configuration file: /config/core/env
    Generated configuration file: /config/core/app.conf
    Generated configuration file: /config/registry/config.yml
    Generated configuration file: /config/registryctl/env
    Generated configuration file: /config/registryctl/config.yml
    Generated configuration file: /config/db/env
    Generated configuration file: /config/jobservice/env
    Generated configuration file: /config/jobservice/config.yml
    Generated and saved secret to file: /data/secret/keys/secretkey
    Successfully called func: create_root_cert
    Generated configuration file: /compose_location/docker-compose.yml
    Clean up the input dir
    
    
    
    [Step 5]: starting Harbor ...
    Creating network "harbor_harbor" with the default driver
    Creating harbor-log ... done
    Creating harbor-portal ... done
    Creating redis         ... done
    Creating registry      ... done
    Creating registryctl   ... done
    Creating harbor-db     ... done
    Creating harbor-core   ... done
    Creating harbor-jobservice ... done
    Creating nginx             ... done
    ✔ ----Harbor has been installed and started successfully.----
    

    配置harbor用户

    账号和密码可以在配置文件中修改
    harbor默认账号admin

    默认密码Harbor12345

    登陆后左侧找到系统管理 > 用户管理 > 添加用户

    添加一个名为docker的用户

    根据情况是否设置为管理员

    管理员用户拥有创建仓库和删除镜像的权限
    
    普通用户拥有上传镜像和拉取镜像权限 无法删除仓库和镜像
    

    镜像仓库需要添加指定用户才能使用这个库

    选择默认镜像仓库为例子

    找到成员选项

    刚刚添加名为docker的用户 不在这个里面所以没有任何权限

    这个项目中没有权限上传容器镜像到这个仓库里面

    选择添加用户 并选择名为docker的用户即可

    配置docker

    因为没有使用SSL验证所以需要配置docker忽略ssl验证,否则无法上传容器镜像。

    找到docker.service

    我的docker配置文件在

    vim /usr/lib/systemd/system/docker.service
    

    添加选项
    --insecure-registry

    [Unit]
    Description=Docker Application Container Engine
    Documentation=https://docs.docker.com
    After=network-online.target firewalld.service
    Wants=network-online.target
    
    [Service]
    Type=notify
    ExecStart=/usr/bin/dockerd 
        --insecure-registry=http://172.16.45.9
    ExecReload=/bin/kill -s HUP $MAINPID
    LimitNOFILE=infinity
    LimitNPROC=infinity
    TimeoutStartSec=0
    Delegate=yes
    KillMode=process
    Restart=on-failure
    StartLimitBurst=3
    StartLimitInterval=60s
    
    [Install]
    WantedBy=multi-user.target
    
    

    配置完毕后

    systemctl daemon-reload
    systemctl restart  docker
    

    docker登陆harbor

    docker login http://192.168.1.7
    

    输入刚刚创建的docker用户和密码

    SSL配置

  • 相关阅读:
    nginx系列11:负载均衡哈希算法ip_hash与hash模块
    nginx系列10:通过upstream模块选择上游服务器和负载均衡策略round-robin
    nginx系列9:HTTP反向代理请求处理流程
    css 滚动条样式
    Vue优化:常见会导致内存泄漏问题及优化
    vue自定义指令导致的内存泄漏问题解决
    vue动态绑定class的几种方式
    前端知识点回顾之重点篇——CSS中flex布局
    Javascript数组操作
    pc端常用电脑屏幕 ((响应式PC端媒体查询)电脑屏幕分辨率尺寸大全)
  • 原文地址:https://www.cnblogs.com/iXiAo9/p/13665547.html
Copyright © 2011-2022 走看看