首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何设置kubernetes (v1.11.2)集群的代理设置(http_proxy变量)?

如何设置kubernetes (v1.11.2)集群的代理设置(http_proxy变量)?
EN

Stack Overflow用户
提问于 2018-11-06 22:03:44
回答 3查看 18.8K关注 0票数 4

我设置了一个Kubernetes集群,由于组织策略的原因,该集群不知何故无法连接到互联网。现在有一些服务我需要通过互联网进行交流。为了解决这个问题,我在K8s集群之外设置了一个转发代理(Squid)。我的K8s集群中的所有节点都可以使用转发代理访问"google.com“。但我无法让我的pods通过该代理进行通信。

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

代码语言:javascript
复制
export http_proxy="http://10.x.x.x:3128"
export https_proxy="https://10.x.x.x:3128"

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

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

代码语言:javascript
复制
pod-network-cidr=192.167.0.0/16 
service-cidr 192.168.0.0/16 

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

代码语言:javascript
复制
Master  -> 10.2.2.40
Worker1 -> 10.2.2.41
Worker2 -> 10.2.2.42
Worker3 -> 10.2.2.43

我的转发代理运行在

代码语言:javascript
复制
Forward Proxy: 10.5.2.30

我使用的是kubernetes版本1.11.2。这里有没有什么帮助,比如我应该把kubernetes集群的http_proxy设置放在哪里,才能使它对所有pod和服务有效?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2018-11-10 02:46:42

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

代码语言:javascript
复制
ENV HTTP_PROXY http://10.x.x.x:PORT
票数 3
EN

Stack Overflow用户

发布于 2018-11-08 22:02:24

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

对于基于Ubuntu的操作系统:

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

对于基于Centos的操作系统:

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

然后重启Docker服务。

票数 3
EN

Stack Overflow用户

发布于 2019-05-29 15:16:24

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

创建一个文件:

代码语言:javascript
复制
/etc/systemd/system/docker.service.d/http-proxy.conf

内容如下:

代码语言:javascript
复制
[Service]
Environment="HTTP_PROXY=http://10.x.x.x:3128"
Environment="HTTPS_PROXY=http://10.x.x.x:3128"

(您还可以包含NO_PROXY变量)

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

代码语言:javascript
复制
systemctl daemon-reload
systemctl restart docker

为了让容器能够连接到代理,可以像mk_sta所说的那样使用/etc/default/docker/etc/sysconfig/docker

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53173487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档