Kubernetes k8s从防火墙后面访问图像
我正在尝试从http代理后面运行k8s群集。我可以从相应的存储库下载图像,但是当我尝试使用k8s提供相同的图像时,我会得到Kubernetes k8s从防火墙后面访问图像,kubernetes,http-proxy,Kubernetes,Http Proxy,我正在尝试从http代理后面运行k8s群集。我可以从相应的存储库下载图像,但是当我尝试使用k8s提供相同的图像时,我会得到errImagePull,例如,如果我尝试 kubectl apply -f https://download.elastic.co/downloads/eck/1.5.0/all-in-one.yaml 然后我在pod上得到以下错误 Normal Pulling 37m (x4 over 38m) kubelet Pulling
errImagePull
,例如,如果我尝试
kubectl apply -f https://download.elastic.co/downloads/eck/1.5.0/all-in-one.yaml
然后我在pod上得到以下错误
Normal Pulling 37m (x4 over 38m) kubelet Pulling image "docker.elastic.co/eck/eck-operator:1.5.0"
Warning Failed 37m (x4 over 38m) kubelet Failed to pull image "docker.elastic.co/eck/eck-operator:1.5.0": rpc error: code = Unknown desc = failed to pull and unpack image "docker.elastic.co/eck/eck-operator:1.5.0": failed to resolve reference "docker.elastic.co/eck/eck-operator:1.5.0": failed to do request: Head https://docker.elastic.co/v2/eck/eck-operator/manifests/1.5.0: proxyconnect tcp: dial tcp [::1]:3128: connect: connection refused
Warning Failed 37m (x4 over 38m) kubelet Error: ErrImagePull
现在,当我直接尝试将docker.elastic.co/eck/eck operator:1.5.0直接拉到盒子上时,效果很好。我想我需要为k8s设置一个http代理,但不知道该怎么做
欢迎提出任何建议。我在linux实例上使用kind
,并且还配置了cntlm
,因此我使用localhost:3128作为代理
我还尝试了使用minikube和以下命令
minikube start --docker-env HTTP_PROXY=http://localhost:3128 --docker-env HTTPS_PROXY=http://localhost:3128 --docker-env no_proxy=localhost
我仍然得到相同的错误假设
本地主机
是Docker运行的主机
以支持minikube
或kind
基于Kubernetes
节点,您需要使用主机.Docker.internal:3128
作为代理,而不是本地主机:3128
。这是相关的
对于
minikube
,host.minikube.internal:3128
也可以使用。更多信息。谢谢,我用host.docker.interal:3128
和host.minikube.internal:3128
,这两个命令都不起作用,我仍然得到相同的错误。@tmpdev你能取得进展吗?不,没有进展我仍然卡住了,我在聊天中添加了一些附加信息。我希望您将host.minikube.internal添加到no_代理以及用于内部docker网络的CIDR。非常感谢GSSwain在这方面的帮助,我觉得我有一些奇怪的docker版本,它把整件事搞砸了,此外,我不认为我会花更多的时间在这方面,因为我有更紧迫的发展任务。再次感谢你的帮助