繁体   English   中英

kube.netes 中的鱿鱼代理

[英]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.confdocker.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.

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