多集群管理,每次打包部署跨网络拉镜像时间过长,有规划这块优化一波吗?

  • Choerodon平台版本:0.21.0

  • 运行环境:自主搭建

  • 问题描述:

    请尽量详细的描述您遇到的问题,以便我们能更快速的提供解决办法。
    如题所述,c7n 集群管理多个 k8s集群,由于他们不再同一个网络需要公网传输,每次发布拉取镜像耗时很长,而且打爆公网带宽,这块有计划重新优化一波吗?

个人建议是不是 可以把 docker仓库 、gitlab-runner 重构一波,比如在 非c7n集群 比如 阿里云集群进行gitlab-runner 进行CI,然后推送到 阿里云集群本地的 docker仓库,这样只会跨公网拉取代码,流量会小很多,速度会快很多

你好,你可以通过以下几个步骤解决你的需求:

  1. 项目下使用自定义仓库;
  2. 每个项目对应的 gitlab group 配置和 harbor 仓库对应的在同一个集群(或者是邻近的网络)的 runner;
  3. 部署的集群也和上面的 harbor 仓库在一个集群,或者是邻近的网络;

这些步骤可以根据自己的需要来决定是否使用。

你这啥意思? 完全解决不了我问题啊~
每个项目 都有不同的环境,比如本地开发环境 ,也有 阿里云环境,c7n一个项目只能定义一个harbor吧,这肯定没法整啊,我gitlab-ci.yaml怎么写仓库地址?cd部分怎么完成部署?
runner还好应该可以在阿里云集群注册进去,但推镜像没法推自己网络内的harbor啊~
还有 runner能支持 docker部署吗?我用docker部署 跟devops 服务交互需要token啥的 没搞成功过

假设你只有一个harbor仓库,但是你有多个 k8s 集群,你可以做到一个harbor都在每个集群的内网吗?
请问下,你是这个需求吗?

需求很简单:c7n 管理多个k8s,一个本地公司内网是开发测试集群(harbor在这);一个是生产环境在 阿里云
,我把应用发 生产环境(阿里云集群 )就会跨网络拉镜像,这会造成发布慢,占带宽的问题
自己的构想是: 阿里云集群注册一个runner,gitlab 针对生产分支 用阿里云这个runner进行打包 ,然后推送到 阿里云集群内的harbor;这样就解决问题了

你可以写个脚本,复制指定的一些镜像过去。
或者在 CI 过程就把镜像多推一份到阿里云的 harbor 仓库。

C7N项目可以定义多个harbor仓库,每条流水线也可以自己定义各自的cibase基础镜像,runner也可以根据需求自己进行定义。需要不同环境就走不同的cicd就好呀

如果是根据 CI 分支不同推送到不同的 harbor 仓库, 这个需求我们会考虑。
但是 gitlab-runner 也根据分支进行选择的话, 暂时没啥方案, 欢迎提交代码。