在kuberentes集群中构建docker映像

时间:2018-06-25 10:58:34

标签: docker kubernetes docker-image

我们需要从基础Docker映像构建一些定制的docker映像,并附带一些其他软件包/自定义项。然后,需要将这些自定义docker映像部署到kubernetes中。我们正在探索各种工具以弄清楚如何在kubernetes集群中完成docker构建(无需直接访问docker守护程序)。 kaniko等开源工具提供了在容器内构建docker映像的能力(因此在kubernetes集群中也是如此)。

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

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

2 个答案:

答案 0 :(得分:2)

1。在kubernetes集群中构建docker镜像是一个好习惯吗,其他容器将在其中运行/执行? kaniko是否有任何明显的挑战?

是的,可以在Kubernetes容器中构建图像,但这可能是一个挑战。

某些用户使用它为CI/CD with Jenkins构建工作流程。实际上,最好使用工具简化该过程。

Kubernetes也有准备容器开发套件的规则,here

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

我发现这篇topic上的文章有趣有趣。

另一方面,成功尝试了在不运行Docker守护程序的情况下构建映像。您可能对Bazel项目以及story的使用方式感兴趣。

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

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

最后,在Kubernetes集群中拥有一个private registry并将其用于构建目的可能很有趣。

答案 1 :(得分:1)

可以在kubernetes节点上构建映像。但是我不推荐它。原因是,应用程序构建过程是内存和计算密集型的,频繁的映像构建可能会导致该kubernetes节点计划的服务中断。

请改用专用的Jenkins服务器,根据您的要求和交付情况创建管道。

您可以开始使用here

希望有帮助!