制品库管理-Harbor

1. 概述

统一制品库(Harbor)主要用来管理Docker镜像,项目所有者可创建Docker镜像仓库,给项目成员分配权限,拥有权限的用户可以打包上传镜像,镜像的详细信息可以在系统中查看。

2. 前置条件

具有管理项目制品库的权限,例如项目所有者。各角色所拥有权限详情如下:

  • 项目成员:查看镜像仓库列表、查看镜像列表、查看镜像版本列表、查看配置指引、查看权限列表
  • 项目所有者:创建制品库、修改删除制品库、查看删除镜像列表、查看删除镜像版本列表、查看操作日志
  • 项目所有者&&制品库权限角色为“项目管理员”:还可以分配用户权限
  • 组织管理员:查看镜像仓库列表、查看镜像列表、查看镜像版本列表、查看权限列表、查看操作日志

3. 创建镜像仓库

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表;
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面;
  3. 点击“创建制品库”按钮,会弹出“创建制品库”;
  4. 选择制品库类型为“Docker”;

    • 不可修改字段:
      1. 镜像仓库编码:是项目的标识,不可修改。组织编码-项目编码
      2. 镜像仓库名称:默认使用项目名称,一旦创建不可修改。
    • 可修改字段:

      1. 访问级别:当镜像仓库设为公开后,任何人都有此仓库下镜像的读权限。命令行用户无需“docker login”就可以拉取镜像。
      2. 制品数:表示该仓库允许最大镜像数,-1表示无限制。
      3. 存储容量:表示该仓库允许最大容量,-1表示无限制。如500MB。
      4. 自动扫描镜像:当镜像上传后,自动进行扫描
      5. 阻止潜在漏洞镜像:阻止危害级别以上的镜像运行
      6. CVE白名单:在推送和拉取镜像时,在项目的CVE白名单中的漏洞将会被忽略。 您可以选择使用系统的CVE白名单作为该项目的白名单,也可勾选“启用项目白名单”项来建立该项目自己的CVE白名单。

      CVE 的英文全称是“Common Vulnerabilities & Exposures”通用漏洞披露。

      CVE就好像是一个字典表,为广泛认同的信息安全漏洞或者已经暴露出来的弱点给出一个公共的名称。使用一个共同的名字,可以帮助用户在各自独立的各种漏洞数据库中和漏洞评估工具中共享数据,虽然这些工具很难整合在一起。这样就使得CVE成为了安全信息共享的“关键字”。如果在一个漏洞报告中指明的一个漏洞,如果有CVE名称,你就可以快速地在任何其它CVE兼容的数据库中找到相应修补的信息,解决安全问题。

  5. 点击”创建”即可,此时会自动生成制品库账号;

    1. 为当前用户创建制品库账号,登录名为猪齿鱼登录名,生成默认随机密码(个人信息>个人设置>制品库设置TAB可查看)
    2. 默认分配最高级权限(项目管理员角色,后续不可删除也不可更新)。

createHarborRepo01.png

4. 创建自定义镜像仓库

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表;
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面;
  3. 点击“创建制品库”按钮,会弹出“创建制品库”;
  4. 选择制品库类型为“Docker”;
  5. 选择仓库来源为“自定义仓库”;

    • 填写自定义仓库信息:
      1. 仓库名称:自定义仓库名称;
      2. 镜像地址:自定义仓库镜像地址;
      3. 登录名:自定义仓库用户名;
      4. 密码:自定义仓库用户密码;
      5. 邮箱:自定义仓库用户邮箱;
      6. 描述:仓库描述;
      7. 是否共享:共享仓库一般用作取代默认镜像仓库(项目下唯一),即新建的应用服务会默认关联到此共享仓库,已关联到默认仓库的应用服务也会改到该仓库下,适用于项目下已有常用的镜像仓库,且无需再次新建;普通的自定义仓库适用于某些特定的应用服务需要关联已有的镜像仓库
  6. 点击测试连接,提示成功,表示成功连接上自定义仓库;提示失败,表示自定义仓库信息填写错误

  7. 连接测试成功后,点击确定即可创建自定义仓库 制品库管理-Harbor - 图2

5. 修改镜像仓库

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击制品库右侧的“三个点”按钮,会弹出三个按钮
  4. 点击”修改配置”,弹出窗口,输入信息即可

updateHarborRepo01.png

6. 删除镜像仓库

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击制品库右侧的“三个点”按钮,会弹出三个按钮
  4. 点击”删除”按钮。只有镜像数为0时,才可以删除镜像仓库

7. 查看镜像仓库详情

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击镜像仓库名称,进入详情页
    • 访问级别:“公开”表示任何人可以上传下载镜像,“不公开”只有分配权限之后才可以上传下载,命令行用户需要“docker login”
    • 镜像数:表示仓库拥有的的镜像总量
    • 项目容量:表示仓库拥有多少制品数,已经使用了多少存储空间。可以直观反映是否需要再分配空间
    • 部署安全:自动扫描镜像、阻止潜在漏洞镜像
    • CVE白名单:漏洞编号

harborDetail01.png

8. 镜像列表管理

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击镜像仓库名称,进入详情页
  4. 点击”镜像列表”TAB,可以看到下列信息

    • 镜像名称
    • 镜像上传时间
    • 镜像版本数
    • 镜像下载数
    • 镜像描述信息
  5. 输入镜像名称可以模糊查询

  6. 点击“镜像描述”可以修改描述信息

  7. 点击“删除”按钮可以删除镜像,以及该镜像的所有版本

harborImage.png

9. 镜像版本管理

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击镜像仓库名称,进入详情页
  4. 点击”镜像列表”TAB
  5. 点击”镜像名称”可以看到镜像版本详情

    • 摘要
    • 扫描状态
    • 安全扫描结果
    • 大小
    • OS/ARCH
    • 最新推送时间
    • 最近拉取时间
  6. 点击摘要右侧的角标图标,即可展开查看到下面所有的镜像版本;包括版本号、最近推送时间、最近拉取时间以及推送者。

  7. 点击摘要后面的“三点图标”,可以看到“摘要拉取指引”、“构建日志”、“删除”
  8. 点击”构建日志”,可以查询镜像版本的构建详情
  9. 点击”删除”,可以删除当前镜像版本

  10. 勾选对应摘要前面的勾选框,勾选后,点击下方的扫描按钮,即可扫描对应的摘要,此处支持批量扫描

  11. 扫描成功后,对应摘要的状态为:已完成,并且能在列表中看到此次的安全扫描结果:总计漏洞与可修复的漏洞;hover后将显示出:漏洞的严重度,以及各个程度的漏洞的数量。

制品库管理-Harbor - 图6

  1. 镜像版本复制
    • 点击Choerodon平台顶部“管理中心”导航,进入组织层
    • 点击菜单“基础>制品库管理”,进入制品库管理页面
    • 点击”镜像列表”TAB
    • 点击”镜像名称”,弹出镜像版本侧弹窗
    • 点击”版本号”下更多选项里的”版本复制”按钮
      1. 选择目标镜像仓库
      2. 输入目标镜像名称
      3. 目标镜像版本号
      4. 点击确定即可。镜像版本就会复制到另一个镜像仓库中。

harborTagCopy.png

10. 权限管理

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击镜像仓库名称,进入详情页
  4. 点击”用户权限”TAB
    • 分配权限:点击“添加成员”,可以进行权限分配,选择用户信息、权限角色、过期时间即可。
    • 更新权限:点击“编辑”,修改权限信息即可
    • 删除权限:点击“删除”,即可删除权限。
    • 导出权限:点击“导出权限”,即可导出权限

制品库创建者的权限信息不可更改也不可删除

  1. 权限角色对应的权限信息如下:
    • 仓库管理员:pull、push、操作日志。若同时为项目所有者,则可以分配权限。
    • 开发人员:pull、push
    • 访客:pull

harborAuth.png

11. 操作日志

  1. 点击Choerodon平台顶部“项目”导航,进入项目列表
  2. 点击项目名称进入项目,点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 点击镜像仓库名称,进入详情页
  4. 点击”操作日志”TAB
    • 权限操作记录:可以查看who在when分配、更新、删除了权限,具体分配了什么权限角色
    • 镜像操作记录:可以查看who在when拉取、上传、删除了镜像 操作者是harbor-ui表示,该镜像是由组织管理员复制出来的

harborLog01.png

harborLog02.png

12. 资源分配

  1. 点击Choerodon平台顶部“管理中心”导航,进入组织层
  2. 点击菜单“基础>制品库管理”,进入制品库管理页面
  3. 选择”docker”图标
  4. 全局资源分配:点击头部按钮“全局资源分配”,弹出侧开页,可以显示全局资源分配详情。 修改全局资源分配之后对于已经存在的镜像仓库没有影响,之后再创建的镜像仓库会默认使用全局资源分配信息。

    • 制品数限制:设置仓库中允许的最大制品数。-1表示没有限制。注意:若一个镜像对应三个镜像版本,则有三个制品数。
    • 存储容量:设置镜像仓库的最大存储容量。-1~ 1024。 -1表示没有限制。
    • 存储单位:MB、GB、TB。
  5. 局部资源分配:点击镜像你仓库条目上的“资源分配”按钮,可以只对特定仓库进行资源分配

harborZy01.png