[英]Squid proxy in kubernetes
我在 kube.netes 集群中运行的 AWS ec2 实例和 pod 之一中安装了一个 squid 代理。
我在 deployment.yaml 文件中添加了 env 变量来导出 squid 代理 LB,如下所示
env:
-
name: http_proxy
value: "http://XXXX:3128"
-
name: https_proxy
value: "http://XXXX:3128"
如果我从 kube.netes pod 控制台发出 curl 请求,我可以看到访问被拒绝。
curl -k google.com
如果我尝试从运行在 kube.netes pod 中的应用程序访问,请求不会路由到 squid 代理
谁能建议我哪里做错了?
如何将 pod 中运行的应用程序的所有请求路由到 squid 代理?
您可以尝试下一步:
1) 通过创建具有以下内容的/etc/systemd/system/docker.service.d/http-proxy.conf
在docker.service.d级别修复此问题:
[Service]
Environment="HTTP_PROXY=http://XXXX:3128"
Environment="HTTPS_PROXY=http://XXXX:3128"
不要忘记事后做
systemctl daemon-reload
systemctl restart docker
2) 如果您使用自己的镜像,您可以在 Dockerfile 中指定以下内容来构建它。使用这种方法只有当前容器才会使用您的 squid 代理
ENV http_proxy XXXX:3128
ENV https_proxy XXXX:3128
3) 另一种方法是查看/etc/default/docker
(对于 ubuntu):
cat /etc/default/docker
...
# If you need Docker to use an HTTP proxy, it can also be specified here.
#export http_proxy="http://127.0.0.1:3128/
通过这种方式,您将为所有容器设置代理,而不仅仅是选定的一个
我还发现了一些 github kube.netes-squid sulotion。 请看一下,但我觉得这不是你需要的,但无论如何..
希望能帮助到你
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.