1. 背景
用户在使用 Cube 时,对 UHub 的安全性、隔离性有一定的顾虑,希望能够使用同一 VPC 下的自建镜像仓库,确保镜像和代码安全。
2. 方案简述
在 Cube 创建 / 修改时,在前端页面加入自定义镜像仓库 IP 地址、子网、用户名、密码字段,通过在 pod yaml 中修改 imagePullSecrets 中相应的字段,把相关参数透传到后端,示例 yaml 如下:
imagePullSecrets:
- username: 'zth'
password: 'Harbor'
registryserver: 'core.harbor.domain'
registryaddr: '10.9.87.17'
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个字符,支持大小写字母及字符数字 | 否 |
镜像设置页面:
镜像设置完成后,在容器→镜像段,显示自定义镜像地址
4.2 Cube / Deployment 更改配置
Cube 更改配置,Deployment 编辑页面,支持自定义镜像的编辑,页面同上