GopherChina2017-6 DevOps、容器仓库

华为:

ContainerOps


GopherChina2017-6 DevOps、容器仓库_第1张图片

在研发的过程中把所有生产环境的情况考虑到,自动化一切;但改变过程中要尽量平滑


GopherChina2017-6 DevOps、容器仓库_第2张图片

将DevOps的工作封装为容器方式,建立轻量级的workflow来弥补yaml的不足,使用k8s方式调度


GopherChina2017-6 DevOps、容器仓库_第3张图片

使用Componet而非pod,不跟k8s绑定,但节点即可使用,更便于分享


GopherChina2017-6 DevOps、容器仓库_第4张图片

Componet Namespace, Repository
类似叠加DockerHub的Artifactory

Componet的架构


GopherChina2017-6 DevOps、容器仓库_第5张图片
GopherChina2017-6 DevOps、容器仓库_第6张图片

工作流引擎-针对开发者,而非管理者


GopherChina2017-6 DevOps、容器仓库_第7张图片
GopherChina2017-6 DevOps、容器仓库_第8张图片

案例
将TiDB的1000万个单元测试封装为容器,将MySQL用例也封装为容器,放在谷歌的虚拟机上跑


GopherChina2017-6 DevOps、容器仓库_第9张图片

用输入输出环境变量来处理Componet间存在依赖的场景

这里没有做缓存,缓存可以参考谷歌的Bazel方案


VMware:

HARBOR 开源的企业级容器镜像管理


GopherChina2017-6 DevOps、容器仓库_第10张图片
GopherChina2017-6 DevOps、容器仓库_第11张图片

Docker定义了容器镜像的标准和发布方式


GopherChina2017-6 DevOps、容器仓库_第12张图片

Harbor:私有仓库,基于策略的镜像复制,增量复制


GopherChina2017-6 DevOps、容器仓库_第13张图片
GopherChina2017-6 DevOps、容器仓库_第14张图片
  • 多级发布解决负载均衡问题


    GopherChina2017-6 DevOps、容器仓库_第15张图片
  • 双Master互备份


    GopherChina2017-6 DevOps、容器仓库_第16张图片
  • CI中的应用


    GopherChina2017-6 DevOps、容器仓库_第17张图片

需求提炼


GopherChina2017-6 DevOps、容器仓库_第18张图片

解决思路


GopherChina2017-6 DevOps、容器仓库_第19张图片
GopherChina2017-6 DevOps、容器仓库_第20张图片

两个channel来进行goroutine的控制


GopherChina2017-6 DevOps、容器仓库_第21张图片
GopherChina2017-6 DevOps、容器仓库_第22张图片
GopherChina2017-6 DevOps、容器仓库_第23张图片

总结


GopherChina2017-6 DevOps、容器仓库_第24张图片

镜像的删除是否支持?因为Image层可能存在依赖

  • 可以删除,一开始是软删除,真正删掉是靠垃圾回收

你可能感兴趣的:(GopherChina2017-6 DevOps、容器仓库)