Kubernetes Minikube不在企业代理后面(Windows)

时间:2018-07-09 15:47:35

标签: proxy kubernetes firewall minikube corporate

我正在尝试在Windows计算机上的公司代理后面启动minikube。我正在使用以下启动命令

minikube start --alsologtostderr --vm-driver="hyperv" --docker-env http_proxy=http://proxyabc.uk.sample.com:3128 --docker-env https_proxy=http://proxyabc.uk.sample.com:3128 --docker-env "NO_PROXY=localhost,127.0.0.1,192.168.211.157:8443"

minikube版本= 0.28.0

kubectl版本= 1.9.2

我还尝试在命令前设置no proxy变量

设置NO_PROXY =“ $ NO_PROXY,192.168.211.158 / 8443”

但是每次我运行“ minikube start”命令时,都会出现以下消息

错误启动集群:等待取消标记主节点的超时:获取节点minikube:获取https://192.168.211.155:8443/api/v1/nodes/minikube:禁止

我已经在

尝试过解决方案

https://github.com/kubernetes/minikube/issues/2706 https://github.com/kubernetes/minikube/issues/2363

2 个答案:

答案 0 :(得分:1)

  

set NO_PROXY="$NO_PROXY,192.168.211.158/8443"

该斜杠不是端口,它是CIDR,它定义了应从代理中排除多少个IP。单独地,您似乎以某种方式将冒号包含在提供给--docker-env的冒号中,我认为这也是错误的。

此外,您的$NO_PROXY,命令中的set语法也是不正确的,因为这是引用环境变量的unix-y方式-您要小心set NO_PROXY="%NO_PROXY%,...,因为除非您已经有一个名为NO_PROXY的变量,则set将扩展为读取set NO_PROXY=",192.168.etcetc",我不确定该变量的合法语法。

答案 1 :(得分:0)

我在工作Mac上遇到问题,但是原理相似。该文档很容易遵循,可以使MiniKube指向公司代理,但是它希望您是经过身份验证的用户。就我而言,我在本地计算机上运行tinyproxy,该计算机侦听端口8888,然后通过端口3128上的cntlm发送发往外界的任何内容。为此,MiniKube必须与我的mac(其主机)进行通信使用10.0.2.2地址,如下所示: --docker-env HTTP_PROXY=http://10.0.2.2:8888 --docker-env HTTPS_PROXY=http://10.0.2.2:8888 我在minikube中的docker pull命令上也遇到了“ x509:由未知权限签名的证书”的问题,我使用--insecure-registry参数解决了该问题。我的整个minikube启动命令如下所示,[最终]对我有用:

minikube start --docker-env HTTP_PROXY=http://10.0.2.2:8888 --docker-env HTTPS_PROXY=http://10.0.2.2:8888 --docker-env NO_PROXY=10.0.2.2,192.168.99.100 --insecure-registry="k8s.gcr.io"