openstack拉取kolla docker镜像到阿里云镜像仓库

openstack拉取 kolla docker镜像

kolla的两个项目

  • openstack kolla项目用来将相关组件打包到docker镜像中。
  • openstack kolla-ansible项目用来基于ansible部署openstack集群。

使用kolla-ansible部署openstack集群时需要从dockerhub拉取镜像:
https://hub.docker.com/u/kolla/

如果网络环境较差可能需要很长时间,本编文章的目的是将kolla镜像保存到阿里云镜像仓库一份,执行部署时指定从阿里云拉取镜像。

以下仓库已经推送了train版和ussuri版的centos镜像,包含source和binary两种格式,可以直接使用。

$ cat /etc/kolla/globals.yml
docker_registry: "registry.cn-shenzhen.aliyuncs.com"
docker_namespace: "kollaimage"

kolla所有组件的镜像名称在kolla项目中可以找到:
https://github.com/openstack/kolla/tree/master/docker

docker下的目录和二级目录名称跟docker镜像名称相关,所以可以遍历这些目录名称,获取所有目录名称的列表。

kolla镜像格式有一定规则,例如:

kolla/centos-source-nova-compute:ussuri

大概格式

仓库名称/OS版本-包类型-组件名称:openstack版本

参数说明:

  • 仓库名称:固定的dockrehub名称kolla
  • OS版本:kolla的镜像支持多种版本,centos、ubuntu等
  • 包类型:支持源码source和binary二进制两种格式
  • 组件名称:和上面遍历的目录名称对应,例如上面的nova-compute
  • openstack版本:train、ussuri等

有了这个规则,就可以使用脚本将所有的docker镜像拼在一起,获取完整的镜像url,然后结合github CICD工具action,从dockerhub将所有镜像拉取到本地,重新打tag,然后推送到阿里云免费的镜像仓库中。

github具体操作

参考这个仓库:https://github.com/willzhang/kolla-image

其中kolla-image/.github/workflows/get-kolla-images.yml定义了github action的镜像拉取任务,大概流程:

  1. 克隆kolla项目,获取docker/目录及子目录名称列表
  2. 从dockerhub拉取镜像,重新打tag后推送到阿里云镜像仓库。
    在这里插入图片描述
    可以直接fork到自己的github账号下,需要修改2个敏感变量参数即可拿来使用,在settings中改为自己的阿里云用户名和密码。
    在这里插入图片描述

另一个前提是你需要在阿里云创建好命名空间和镜像仓库:

登录地址:https://cr.console.aliyun.com/cn-hangzhou/repositories
在这里插入图片描述

如何使用github action

travisCI默认构建时间限制是50min,gitlabCI最大构建时间限制是3h,拉取200多个镜像需要的时间远远超过了该限制,所以最终选择github Action CICD来执行构建任务,免费构建时间可达6h。

首先点击actions
在这里插入图片描述
然后点击New workflow
在这里插入图片描述
找到publish docker container的模板,点击set up this workflow,以这个模板为参考创建workflow,当然这只是一个快速创建的示例,完全可以自行编写相关yaml文件来执行任务。这里已经创建好了,不需要在执行相关操作。
在这里插入图片描述

  • 1
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值