【发布时间】: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-dns或corednsDNS 解析服务吗? -
我用过kube-dns。
标签: docker proxy kubernetes http-proxy squid