繁体   English   中英

kubernetes:Pod无法连接到互联网

[英]kubernetes: pods cannot connect to internet

我无法从Pod连接到互联网。 我的kubernetes集群位于代理之后。
我已经设置了/env/environment/etc/systemd/system/docker.service.d/http_proxy.conf ,并确认环境变量( http_proxyhttps_proxyHTTP_PROXYHTTPS_PROXYno_proxyNO_PROXY )是正确的。 但是在pod中,当我尝试echo $http_proxy ,答案为空。 我还尝试了curl -I https://rubygems.org但它返回curl: (6) Could not resolve host: rubygems.org
因此,我认为pod无法正确接收环境值,或者有些事情我忘了做我应该做的事情。 我该怎么解决?

我试图export http_proxy=http://xx.xx.xxx.xxx:xxxx; export https_proxy=... export http_proxy=http://xx.xx.xxx.xxx:xxxx; export https_proxy=...
之后,我再次尝试curl -I https://rubygems.org并且可以收到200的标题。

我看到的是您的proxy.conf名称错误。 根据官方文档 ,名称应为/etc/systemd/system/docker.service.d/http-proxy.conf而不是/etc/systemd/system/docker.service.d/http_proxy.conf

接下来,您添加代理,重新加载守护进程并重新启动docker,如注释中所提供的那样, 另一个答案

/etc/systemd/system/docker.service.d/http_proxy.conf

内容:

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

# systemctl daemon-reload
# systemctl restart docker

或者,按照@mk_ska的答案,您可以

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

对于基于Ubuntu的操作系统:

将导出http_proxy ='http://:'记录添加到文件/ etc / default / docker中

对于基于Centos的操作系统:

将导出http_proxy ='http://:'记录添加到文件/ etc / sysconfig / docker中

然后重启Docker服务。

上面将为所有容器设置代理,docker引擎将使用什么

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM