首页 > 解决方案 > 在 kuberentes 集群中构建 docker 镜像

问题描述

我们需要从带有一些附加包/定制的基础 docker 镜像构建自定义 docker 镜像。然后需要将这些自定义 docker 镜像部署到 kubernetes 中。我们正在探索各种工具来弄清楚如何在 kubernetes 集群中完成 docker build(无需直接访问 docker daemon)。像 kaniko 这样的开源工具提供了在容器中构建 docker 镜像的能力(因此在 kubernetes 集群中)。

  1. 在其他容器将运行/执行的 Kubernetes 集群中构建 docker 镜像是一个好习惯吗?kaniko 有什么明显的挑战吗?

  2. 是否应该创建单独的专用 VM 来管理构建过程?

标签: dockerkubernetesdocker-image

解决方案


1. 在其他容器将运行/执行的 Kubernetes 集群中构建 docker 镜像是一个好习惯吗?kaniko 有什么明显的挑战吗?

是的,可以在Kubernetes容器中构建镜像,但这可能有点挑战。

一些用户使用它来使用 Jenkins构建 CI/CD 工作流。事实上,最好使用工具来简化流程。

Kubernetes也有准备容器开发包的规则,这里有描述

另一种方法是使用Kaniko,该工具从容器或 Kubernetes 集群内的 Dockerfile 构建容器镜像。

我发现这篇关于这个主题的文章很有趣。

另一方面,在不运行 Docker 守护进程的情况下构建镜像的尝试是成功的。您可能对Bazel项目和如何使用它的故事感兴趣。

2. 是否应该创建单独的专用 VM 来管理构建过程?

关于您的第二个问题:不需要设置专用 VM 来运行 Docker 映像创建工作流程。

最后,在 Kubernetes 集群中拥有一个私有注册表并将其用于构建目的可能会很有趣。


推荐阅读