Cloud Native Artifact Registries
文章目录
Helm3 的 design proposal 里面介绍了对于Chart Repo 融合到 Distribution 的提议。目前已经有了实验的 demo,理论上并没有什么问题。因为 Distribution的设计里并不是只能存镜像,而是一个开放的协议。我们可以想下目前企业在 DevOps 场景下,除了代码之外,有哪些文件需要存储
- 构建产物
- 二进制程序
- Helm Charts
- 镜像仓库
- 测试报告
- 代码分析报告
- Kustomize 文件
等等。为数众多,而且都是存储于不同系统的。构建的产物一般都暂存于构建系统内部,有失效时间。镜像在 Docker Hub 或者 Harbor 中,Helm Charts 在官方仓库或者 chartmusuem 这样的仓库中。基本上每一项都需要单独维护存储设施,分别要使用不同的客户端。Helm3 的这个迁移的决定,不止对 Helm 本身有很大的意义,对于其他的产品也具有很大的启发意义。Docker公司本身也在做这方面的 整合, Docker app 既可以用来分发 docker-compose 文件还有 CNAB 格式的应用。在可以遇见的将来,所有的 Artifacts 共用一个存储和客户端是可能的。
这有一另外的一个好处是,这是一个独立于云提供商的平台。不管是在 AWS/GCE/AZURE 还是其他云平台,不管是用 S3 还是其他存储,Distribution 这样的平台可以提供统一的接口。
另一方面,Kubernetes 平台上应用的分发格式也处于激烈的竞争阶段,目前常用的就有以下几个:
- Docker App
- Docker Compose
- CNAB
- Helm
- Kustomize
Distribution 这样的平台能帮助用户减少很多使用负担和迁移成本。预测来看,Helm/Kustomize 最终的赢面大些,docker 可能只能继续专注于更底层的业务。
链接
文章作者 涯余
上次更新 2019-08-26