在Kubernetes的Docker容器内的互联网连接

时间:2017-10-29 17:35:38

标签: docker kubernetes

我有一个基于jenkins / slave容器的Kubernetes pod,我在特权模式下安装了docker socket和docker二进制文件以及必要的内核模块。在那个pod里面,我根据运行docker容器构建了Docker镜像。在该容器内部,我根本没有互联网连接,因为pod容器使用法兰绒网络(198.x.x.x),并且该容器使用在容器内部不可用的桥接码头网络(172.x.x.x)。如何在Kubernetes pod容器内创建的第二个容器中使Internet可用?在Jenkins管道中使用Docker API对我来说不是一个解决方案,只要它限制错误日志的输出并且我不能提交在第二个容器中进行的更改,因为在构建之后立即删除该容器。

1 个答案:

答案 0 :(得分:2)

不确定本文是否可以帮助您解决此问题,JENKINS DECLARATIVE PIPELINES WITH KUBERNETES。本文展示了如何在Kubernetes中设置Jenkins的完整堆栈,还介绍了Docker中Docker的想法。

根据我的想法,我们可以将pod容器标记为container1,将容器标记为container2

我认为container1container2应位于同一主机中并共享相同的docker引擎。所以法兰绒网络与docker网络应该一起设置。

根据我的想法,container2的网络流量应来自container2 - > docker0 - > host,不应与container1

请告诉我这是否合理,或者我们可以一起讨论,我认为这个问题非常有趣。