如何在通过Kubernetes部署Kubeflow前修改其源代码?Juju安装场景适配疑问
Kubeflow 源码修改部署方案说明
方案1:基于现有Juju部署架构修改(优先推荐)
你当前用Juju部署的Charmed Kubeflow不需要完全更换部署方案,仅调整对应组件的镜像即可完成修复,操作步骤如下:
- 首先定位问题对应的Kubeflow组件,拉取该组件的上游源码,完成你需要的类型转换修复
- 用组件自带的Dockerfile构建自定义修复镜像,将镜像导入k3s集群或者推送到本地可访问的私有镜像仓库
- 执行命令
juju config <对应组件的charm名称> image=<你的自定义镜像地址>,Juju会自动滚动更新该组件的Pod,修复即可生效 - 优势:不需要改动现有部署架构,后续Kubeflow的运维、升级依然可以复用Juju的自动化能力,整体改动成本最低
方案2:切换为Manifest部署方案
如果你计划弃用Juju管理Kubeflow,可以选择该方案:
- 先卸载当前Juju部署的Kubeflow bundle,清理集群内相关残留资源
- 拉取Kubeflow manifest仓库到本地,找到问题组件的部署配置,将镜像替换为你构建好的自定义修复镜像,也可以直接调整对应kustomize配置
- 按照manifest的标准安装流程,用kustomize构建完整部署配置后直接apply到k3s集群即可
- 注意:该方案后续所有组件的升级、配置调整都需要手动维护manifest,运维成本会远高于Juju部署方式
选型建议
如果只是为了修复单个组件的小问题,优先选择方案1即可,不需要整体替换部署体系。如果本来就有调整Kubeflow部署方式的规划,再考虑方案2。
内容的提问来源于stack exchange,提问作者guibs35
相关产品推荐
相关产品推荐

