首页 / 最佳实践 / 部署高可用的 Docker Registry

部署高可用的 Docker Registry

Docker Registry 是一个镜像存储和分发的系统。本文将介绍如何部署、集成高可用的 Docker Registry,并分配指定项目使用,以实现镜像的展示与管理等功能。

前提条件

部署 docker-registry

  1. 在左侧导航栏中,单击 应用商店管理 > 模板仓库

  2. 单击系统预置的 public-charts,在应用模板区域的 docker-registry 卡片上单击 部署模板

  3. 配置基本信息,指定 项目命名空间模板版本

  4. 参考以下说明,配置 basicConfiguration。

    说明:本例中除主机地址修改为集群的某个节点地址外,其余参数均使用默认值。

    参数 说明
    BaseDomain 组件注释或标签键值的关键字,为系统内部约定的字符串,固定为 cpass.io,非特殊情况无需修改。
    镜像仓库地址 填写镜像仓库地址,默认为 harbor.alauda.cn。如不修改该地址,部署后将会自动替换为目标集群的镜像仓库地址。
    Pruner/Registry 镜像名称 填写镜像名称。Pruner 镜像名称默认为 3rdparty/docker-registry-pruner,Registry 镜像名称默认为 ait/registry
    Pruner/Registry 镜像版本 填写镜像版本,Pruner 镜像名称默认为 v3.10.0,Registry 镜像名称默认为 v2.7.1-alauda.6
    Pruner/Registry 镜像拉取策略 选择镜像拉取策略,默认为 IfNotPresent
    • Always:总是从远程仓库拉取镜像。
    • Never:只使用本地镜像,从不去远程仓库拉取。
    • IfNotPresent:本地有则使用本地镜像,本地没有则从远程仓库拉取镜像。
    Basic 认证 默认不开启,表示无需用户名/密码即可访问镜像仓库。
    开启后,您需要配置 Basic 认证用户名及密码。部署完成后需通过配置的用户名/密码访问镜像仓库。
    主机地址 指定一个可以访问到 Registry Nodeport 的主机地址,通常填写集群的任一节点地址即可。
    GC 间隔时间(单位:秒) Registry GC 间隔时间,即每隔多久进行一次 GC 垃圾回收,默认为 604800
    内部路由类型 默认为 NodePort,您可以按需选择 Cluster IP、ExternalName 或 LoadBalancer。
    内部路由对外端口 默认为 5000。
    内部路由主机端口 默认为 30011。您可以按需自定义,通常配置在 30000~32000 之间。
    TLS Secret 名称 指定命名空间下已有的 TLS Secret,表示 Docker Registry 将以 TLS 方式启动,启动时自动挂载该 Secret 中的证书和私钥。
  5. 配置 Ingress。默认不开启,开启后可通过域名访问 Docker Registry 镜像仓库。本例中保持默认值。

  6. 参考以下说明,配置 Persistence。

    参数 说明
    S3 存储 开启 默认关闭,本例中需开启 S3 存储。
    高可用 开启 开启 S3 存储后默认开启高可用,此时 Pod 副本数为 2;关闭高可用时 Pod 副本数为 1。
    端点(endpoint) 填写 MinIO 集群详情页面显示的 MinIO 访问地址。
    S3 存储桶(bucket) 填写已创建的存储桶的名称。
    S3 Secret 名称 选择提前创建的用于访问 MinIO 对象存储的 secret。
  7. 单击 部署

    系统将自动跳转至 Container Platform 的 应用管理 > 模板应用 页面,等待状态变为 部署成功 即可。

获取访问地址

Docker Registry 部署成功后,单击 应用名称。在资源列表区域单击 Service 类型 对应的资源名称,获取 Docker Registry 的访问地址。

说明:若未配置 TLS Secret,则访问地址为 http://<节点 IP>:<主机端口>;若配置 TLS Secret,则访问地址为 https://<节点 IP>:<主机端口>

如下图所示,本例中访问地址为 http://192.168.176.154:30011http://192.168.176.58:30011

上传镜像

登录集群控制节点,使用 docker push 命令上传镜像。

工具链集成

  1. 进入 平台管理 视图。

  2. 在左侧导航栏中,单击 工具链管理 > 工具链集成

  3. 单击 集成,选择 制品管理 中的 Docker Registry

  4. 参考以下说明,配置集成参数。

    参数 说明
    集成名称 输入集成工具的名称,请填写 docker-registry
    访问地址 工具的访问地址,请填写 Docker Registry 的访问地址。
    API 地址 集成工具的服务地址,请填写 Docker Registry 的访问地址。
    凭据 如果部署 Docker Registry 时开启了 Basic 认证,则需要创建凭据,配置登录 Docker Registry 时使用的用户名/密码。本例中无需配置。
  5. 单击 集成

  6. 镜像上传成功后,项目列表中将显示现有的工具项目名称。单击 > 分配平台项目。

  7. 选择需要分配的项目,单击 分配

结果验证

  1. 进入 Container Platform,选择指定项目。

  2. 在左侧导航栏中,单击 镜像仓库,可查看已分配给本项目的镜像地址列表。

  3. 创建原生应用或计算组件时,即可通过 选择 的方式从镜像仓库中筛选所需镜像。