secretflow / kuscia

Kuscia(Kubernetes-based Secure Collaborative InfrA) is a K8s-based privacy-preserving computing task orchestration framework.
https://www.secretflow.org.cn/docs/kuscia/latest/zh-Hans
Apache License 2.0
72 stars 50 forks source link

扩展 Kuscia 注册自定义算法镜像脚本功能 #135

Closed Candicepan closed 10 months ago

Candicepan commented 11 months ago

此 ISSUE 为 隐语开源共建计划(SecretFlow Open Source Contribution Plan,简称 SF OSCP)第三期任务 ISSUE,欢迎社区开发者参与共建~ 若有感兴趣想要认领的任务,但还未报名,辛苦先完成报名进行哈~ 任务介绍

  • 任务名称:扩展 Kuscia 注册自定义算法镜像脚本功能
  • 技术方向:Kuscia/脚本开发
  • 任务难度:热身🌟

详细要求

https://github.com/secretflow/kuscia/blob/main/scripts/tools/register_app_image/register_app_image.sh

能力要求

操作说明

imwangyt commented 10 months ago

imwangyt + Give it to me

imwangyt commented 10 months ago

@gshilei 老师,请教一下: 需求一:新增flag,可以指定容器名称,支持多参数。默认可选,若不填写,则使用以alice和bob为后缀的默认名称 1.1、这里的多参数,是指-d alice -d bob么?还是-d alice,bob也可以? 1.2、容器名称是否可以改为domain ids,个人觉得目前基本都是用脚本部署的,即使不是,约定按照{USER}-kuscia-lite/autonomy-{DOMAIN}的格式命名容器,似乎也比较好一点? 需求二:优化脚本,即可以并发的方式导入AppImage Docker镜像,提高镜像导入速度 2.1、除了secretflow#988提到的进程并发方式,有没有其他方式,比如直接操控containerd的镜像存储,是否可行?

gshilei commented 10 months ago

@gshilei 老师,请教一下: 需求一:新增flag,可以指定容器名称,支持多参数。默认可选,若不填写,则使用以alice和bob为后缀的默认名称 1.1、这里的多参数,是指-d alice -d bob么?还是-d alice,bob也可以? 1.2、容器名称是否可以改为domain ids,个人觉得目前基本都是用脚本部署的,即使不是,约定按照{USER}-kuscia-lite/autonomy-{DOMAIN}的格式命名容器,似乎也比较好一点? 需求二:优化脚本,即可以并发的方式导入AppImage Docker镜像,提高镜像导入速度 2.1、除了secretflow#988提到的进程并发方式,有没有其他方式,比如直接操控containerd的镜像存储,是否可行?

@imwangyt 感谢认领。 需求一:新增flag,可以指定容器名称,支持多参数。默认可选,若不填写,则使用以alice和bob为后缀的默认名称 1.1 多参数可以采用 -d domainID-1, domainID-2 这种形式 1.2 容器名称可以按照当前的约定格式 {USER}-kuscia-lite/autonomy-{DOMAIN} 进行拼写。即通过 -d {domain1, domain2} -u {user} -m {deplyMode} 参数可组装前面的容器名称containerd的镜像存储。

2.1 这里的并发不限于直接操控containerd的镜像存储。 即使采用并发,最后的并发度可能也有瓶颈,再增大的话,实际镜像导入的速度也提升不了多大。

imwangyt commented 10 months ago

验证环境:WSL2 验证步骤: 1、在WSL2部署[点对点两方] 2、进入两方容器,使用以下命令检查已经导入的镜像、移除已经导入的镜像

ctr -a=/home/kuscia/containerd/run/containerd.sock -n=k8s.io images ls -q
ctr -a=/home/kuscia/containerd/run/containerd.sock -n=k8s.io images rm secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:latest

3、在WSL2内,使用以下命令验证脚本

time ./register_app_image.sh -d alice,bob,carol -n secretflow-image -i secretflow-registry.cn-hangzhou.cr.aliyuncs.com/secretflow/secretflow-lite-anolis8:latest