【问题标题】:How to set proxy settings (http_proxy variables) for kubernetes (v1.11.2) cluster?如何为 kubernetes (v1.11.2) 集群设置代理设置(http_proxy 变量)?
【发布时间】:2019-04-09 22:33:12
【问题描述】:

我已经设置了一个 Kubernetes 集群,但由于组织政策,该集群无法连接互联网。现在有一些服务我需要通过互联网进行通信。为了解决这个问题,我设置了一个位于 K8s 集群之外的正向代理(Squid)。我的 K8s 集群的所有节点都可以使用转发代理访问“google.com”。但我无法让我的 pod 通过该代理进行通信。

我在所有主节点和工作节点上设置了以下变量:

export http_proxy="http://10.x.x.x:3128"
export https_proxy="https://10.x.x.x:3128"

我能够从主节点和工作节点卷曲 google.com。但是当我附加到我的容器中时,我注意到没有变量 http_proxy 和 https_proxy。并且无法成功卷曲。

我的 pod 和服务网络与我的 VM 网络不同

pod-network-cidr=192.167.0.0/16 
service-cidr 192.168.0.0/16 

我的虚拟机网络是这样的:

Master  -> 10.2.2.40
Worker1 -> 10.2.2.41
Worker2 -> 10.2.2.42
Worker3 -> 10.2.2.43

我的正向代理正在运行

Forward Proxy: 10.5.2.30

我使用的是 Kubernetes 版本 v1.11.2。这里有什么帮助,比如我应该将我的 kubernetes 集群的 http_proxy 设置放在哪里,以使其对所有 pod 和服务都有效?

【问题讨论】:

  • 您在 Kubernetes 集群中使用过kube-dnscoredns DNS 解析服务吗?
  • 我用过kube-dns。

标签: docker proxy kubernetes http-proxy squid


【解决方案1】:

您可以将http_proxy 设置添加到您的 Docker 机器,以便通过目标代理服务器转发来自嵌套 Pod 容器的数据包。

对于基于 Ubuntu 的操作系统:

export http_proxy='http://<host>:<port>'记录添加到文件/etc/default/docker

对于基于 Centos 的操作系统:

export http_proxy='http://<host>:<port>'记录添加到文件/etc/sysconfig/docker

之后重启 Docker 服务。

【讨论】:

  • 您提出的解决方案将为将使用此 docker 引擎的所有容器设置代理。因此,我不会认为这是正确的答案。
【解决方案2】:

所以我发现要为特定容器设置代理,请在 Dockerfile 中设置 env 变量。

ENV HTTP_PROXY http://10.x.x.x:PORT

【讨论】:

    【解决方案3】:

    对于 docker 服务,使用 systemd 设置文件:

    创建一个文件:

    /etc/systemd/system/docker.service.d/http-proxy.conf
    

    附内容:

    [Service]
    Environment="HTTP_PROXY=http://10.x.x.x:3128"
    Environment="HTTPS_PROXY=http://10.x.x.x:3128"
    

    (您也可以包含 NO_PROXY 变​​量)

    您需要重新加载 systemctl 并重新启动 docker 服务:

    systemctl daemon-reload
    systemctl restart docker
    

    如 mk_sta 所说,要让容器能够连接到代理,请使用 /etc/default/docker/etc/sysconfig/docker

    【讨论】:

      猜你喜欢
      • 2020-09-21
      • 2020-10-28
      • 2019-12-24
      • 1970-01-01
      • 1970-01-01
      • 2023-01-03
      • 1970-01-01
      • 2019-05-02
      • 2021-04-12
      相关资源
      最近更新 更多