1. 背景

用户在使用 Cube 时,对 UHub 的安全性、隔离性有一定的顾虑,希望能够使用同一 VPC 下的自建镜像仓库,确保镜像和代码安全。

2. 方案简述

在 Cube 创建 / 修改时,在前端页面加入自定义镜像仓库 IP 地址、子网、用户名、密码字段,通过在 pod yaml 中修改 imagePullSecrets 中相应的字段,把相关参数透传到后端,示例 yaml 如下:

  1. imagePullSecrets:
  2. - username: 'zth'
  3. password: 'Harbor'
  4. registryserver: 'core.harbor.domain'
  5. registryaddr: '10.9.87.17'
  6. vpcId: 'uvnet-b1sd5cfz'`

3. 功能列表

功能点 功能说明 优先级 备注
Cube / Deployment 创建页面 在 Cube / Deployment 创建页面「镜像设置」面板,增加「私有仓库」选项 P0
Cube / Deployment 实例更改配置 确认是否需要再次输入私有仓库密码 P1

4. 功能详述

4.1 Cube / Deployment 创建页面

镜像配置界面可选自建镜像仓库,输入相应配置

字段 字段详述 类型及约束 是否必填
VPC ID 自建镜像仓库所在的 VPC 网络 下拉框,调取用户所有 VPC 网络
可选「其他项目 VPC」,如选其他,则提供输入框,按照 VPC ID 规则校验
仓库域名 自建镜像仓库域名 string,域名校验规则
仓库地址 自建镜像仓库 IPv4 地址 string,IP 校验规则
用户名 自建镜像仓库用户名 string,不超过64个字符,支持大小写字母及字符数字
密码 自建镜像仓库密码 string,不超过64个字符,支持大小写字母及字符数字

镜像设置页面:
image.png
镜像设置完成后,在容器→镜像段,显示自定义镜像地址
image.png

4.2 Cube / Deployment 更改配置

Cube 更改配置,Deployment 编辑页面,支持自定义镜像的编辑,页面同上