Kubernetes荚不启动,运行绑定代理
我在minikube上运行kubernetes,我在代理之后,所以我在/etc/systemd/system/docker.service.d/http-proxy.conf中设置了docker的envvariables(HTTP_PROXY&NO_PROXY)。 我能够做docker拉,但是当我运行下面的例子
kubectl run hello-minikube --image=gcr.io/google_containers/echoserver:1.4 --port=8080 kubectl expose deployment hello-minikube --type=NodePort kubectl get pod
荚始终没有启动,我得到的错误
desc = unable to pull sandbox image \"gcr.io/google_containers/pause-amd64:3.0\"
docker pull gcr.io/google_containers/echoserver:1.4
正常工作
我能够自己修复它。 我的主机上有Docker,Minikube上有Docker。 Docker在Minukube有问题,我不得不ssh到minikube虚拟机,并按照这篇文章
无法将Docker镜像下载到代理服务器上 ,
应该有一个更好的方法来做到这一点,我开始minikube我已经通过docker环境下面,这是行不通的
minikube start --docker-env HTTP_PROXY=http://xxxx:8080 --docker-env HTTPS_PROXY=http://xxxx:8080 --docker-env NO_PROXY=localhost,127.0.0.0/8,192.0.0.0/8 --extra-config=kubelet.PodInfraContainerImage=myhub/pause:3.0
我已经在Minikube VM中设置了相同的envvariables,使其工作
我遇到了同样的问题,并分享了一些错误的回合之后所学到的知识。 这是minikube v0.19.0。 如果您有旧版本,则可能需要更新。
请记住,我们需要完成两件事:
- 确保在连接到桌面上的minikube时,kubctl不会通过代理。
- 确保minikube中的docker守护进程在需要连接到映像存储库时通过代理。
首先,确保您的代理设置在您的环境中是正确的。 这里是我的.bashrc的一个例子:
export {http,https,ftp}_proxy=http://${MY_PROXY_HOST}:${MY_PROXY_PORT} export {HTTP,HTTPS,FTP}_PROXY=${http_proxy} export no_proxy="localhost,127.0.0.1,localaddress,.your.domain.com,192.168.99.100" export NO_PROXY=${no_proxy}
有几件事要注意:
- 我设置了大写和小写。 有时候这很重要。
- 192.168.99.100是来自
minikube ip
。 您可以在群集启动后添加它。
好的,所以应该照顾正确的kubectl工作。 现在我们有下一个问题,确保minikube中的Docker守护程序使用您的代理设置进行configuration。 你这样做,正如PMat所提到的那样:
$ minikube delete $ minikube start --docker-env HTTP_PROXY=${http_proxy} --docker-env HTTPS_PROXY=${https_proxy} --docker-env NO_PROXY=192.168.99.0/24
要validation这些设置是否已完成,请执行以下操作:
$ minikube ssh -- systemctl show docker --property=Environment --no-pager
您应该看到列出的代理环境variables。
为什么minikube delete
? 因为没有它,如果你以前创build了一个集群(比如没有代理信息),那么开始将不会更新Docker环境。 也许这就是为什么PMat没有成功传递–docker-env来启动(或者是在minikube的旧版本中)。
它看起来像你需要添加minikube IP到no_proxy:
export NO_PROXY = $ no_proxy,$(minikube ip)
看到这个线程: 代理后面的kubectl
- 在docker容器bash中的错误:vi:命令未find
- 在Dockerfile中执行dpkg-reconfigure wireshark-common
- Amazon EC2服务器上的/ etc / default / docker文件在哪里?
- 如何使用Docker Compose文件发布“mode = host”的一系列端口?
- 安装nodejs返回一个非零的代码:1与docker构build
- Nvidia Theanodocker图像不可用
- 错误:tornado.general:WebSocket … Swampdragon:DoesNotExist:匹配查询不存在
- 如何创buildssh隧道到dockerfile / mysql容器
- 在docker-compose中构build图像时发生多个Dockerfiles失败