【问题标题】:No internet connectivity inside docker container running inside kubernetes with weave as networking在 kubernetes 内运行的 docker 容器内没有互联网连接,使用 weave 作为网络
【发布时间】:2018-08-24 06:18:11
【问题描述】:

我有一个运行在 AWS EC2 实例上的 kubernetes 集群,并作为网络 (cni) 编织。我已禁用 docker 网络(ipmask 和 iptables),因为它由 weave 管理(以避免网络冲突)。

我已经在这个集群上部署了我的 Jenkins 作为 K8s pod,这个 jenkins 使用 jenkins kubernetes 插件根据我定义的 pod 和容器模板生成动态从属。这些从属容器中有 docker 客户端,它通过 docker.sock 连接到主机 docker 引擎

所以当我在 Jenkins 中运行任何作业时,它会启动一个从属服务器,并在此克隆一个 git 存储库并开始构建存储库中存在的 Dockerfile。

我的示例 dockerfile 如下所示:

FROM abc:123
RUN yum update

因此,当容器开始构建它时,它会尝试连接到 redhat 存储库以更新本地存储库并在此处失败。为了调试,我登录到这个容器并尝试 wget/CURL 一些包,发现这个容器中没有互联网连接。

我怀疑在构建 docker 时会启动中间容器,而这些容器不是由 weave 管理的,因此它们没有互联网连接。

需要建议。

相关问题:Internet connection inside Docker container in Kubernetes

【问题讨论】:

    标签: docker jenkins kubernetes jenkins-plugins weave


    【解决方案1】:

    好吧,经过一番努力,我终于找到了解决方案。
    因此,当 K8s 启动一个 pod 时,它会启动一个 sidecart 容器,其作用基本上是为 pod 容器提供网络。
    因此,在运行 docker build 时,如果我将它的容器 ID 作为网络传递,那么我的中间上下文开始通过此容器获得 Internet 连接。 所以变化看起来像这样:

    docker build -t "some name" --network container:\$(docker ps | grep \$(hostname) | grep k8s_POD | cut -d\" \" -f1) -f infra/docker/Dockerfile .
    

    希望这会有所帮助。 :D

    【讨论】:

      【解决方案2】:

      你是对的 - docker build 进程在不同的上下文中运行,而 Weave Net 不会自动附加它们。

      更复杂的是,Kubernetes 将通过 CNI 进行连接,而 Docker 有自己的插件 API。我相信可以同时在一台机器上同时拥有两者,但相当复杂。

      也许看看ways to build images without using Docker的一些?

      【讨论】:

        【解决方案3】:

        您可以尝试将attach weave networking dynamically 作为构建工作的一部分。是否可以通过 weave 更改航班上的活动容器网络。

        也许您需要使用带有 Weave Docker Api Proxy 的其他容器,或者您可以使用其他方式与节点上的 Weave 网络进行通信。

        因此,主要想法是将运行构建的容器连接到 Kubernetes pods 网络,您可以在其中进行外部访问。

        另外,也许会更好,您可以创建另一个可以访问 Internet 的 Weave 虚拟网络,并将您的竞争者附加到它。

        【讨论】:

        • 我找到了一种简单的方法,请参考下面的评论:D,无论如何谢谢。
        猜你喜欢
        • 2019-10-19
        • 2020-12-18
        • 1970-01-01
        • 2020-07-07
        • 1970-01-01
        • 2021-07-13
        • 1970-01-01
        • 2013-12-24
        • 1970-01-01
        相关资源
        最近更新 更多