华为:
ContainerOps
![](https://img.haomeiwen.com/i1843192/d65648967e480eed.jpg)
在研发的过程中把所有生产环境的情况考虑到,自动化一切;但改变过程中要尽量平滑
![](https://img.haomeiwen.com/i1843192/7fc065ff5ab6c341.jpg)
将DevOps的工作封装为容器方式,建立轻量级的workflow来弥补yaml的不足,使用k8s方式调度
![](https://img.haomeiwen.com/i1843192/147790b9553c629d.jpg)
使用Componet而非pod,不跟k8s绑定,但节点即可使用,更便于分享
![](https://img.haomeiwen.com/i1843192/808b1a7413cb7aab.jpg)
Componet Namespace, Repository
类似叠加DockerHub的Artifactory
Componet的架构
![](https://img.haomeiwen.com/i1843192/1b1cd13a10b2c4a3.jpg)
![](https://img.haomeiwen.com/i1843192/c08993da0827587b.jpg)
工作流引擎-针对开发者,而非管理者
![](https://img.haomeiwen.com/i1843192/dc99c7ca54d29d12.jpg)
![](https://img.haomeiwen.com/i1843192/cd545d78039c0eab.jpg)
案例
将TiDB的1000万个单元测试封装为容器,将MySQL用例也封装为容器,放在谷歌的虚拟机上跑
![](https://img.haomeiwen.com/i1843192/f13f6098c480d2af.jpg)
用输入输出环境变量来处理Componet间存在依赖的场景
这里没有做缓存,缓存可以参考谷歌的Bazel方案
VMware:
HARBOR 开源的企业级容器镜像管理
![](https://img.haomeiwen.com/i1843192/a9ae5bdf8feb317f.jpg)
![](https://img.haomeiwen.com/i1843192/e0b27598d199d56c.jpg)
Docker定义了容器镜像的标准和发布方式
![](https://img.haomeiwen.com/i1843192/8cb32b50a2c17fa3.jpg)
Harbor:私有仓库,基于策略的镜像复制,增量复制
![](https://img.haomeiwen.com/i1843192/4d9072d7b8e165d5.jpg)
![](https://img.haomeiwen.com/i1843192/a8ca95b6f3ce88a6.jpg)
-
多级发布解决负载均衡问题
-
双Master互备份
-
CI中的应用
需求提炼
![](https://img.haomeiwen.com/i1843192/f55fcd2206c8d21f.jpg)
解决思路
![](https://img.haomeiwen.com/i1843192/b34014217fbd8f55.jpg)
![](https://img.haomeiwen.com/i1843192/2599b212c9cdf11e.jpg)
两个channel来进行goroutine的控制
![](https://img.haomeiwen.com/i1843192/37b7404b1ade2c38.jpg)
![](https://img.haomeiwen.com/i1843192/aa48f8896cd8baa5.jpg)
![](https://img.haomeiwen.com/i1843192/3b8de84a9ab91181.jpg)
总结
![](https://img.haomeiwen.com/i1843192/20fa8fff4f427767.jpg)
镜像的删除是否支持?因为Image层可能存在依赖
- 可以删除,一开始是软删除,真正删掉是靠垃圾回收
网友评论