因为国内环境下无法访问k8s.gcr.io,因此须要设置代理来拜访。如果没有正确设置好,在运行minikube start
后会显示以下正告:
❗ This container is having trouble accessing https://k8s.gcr.io
阐明这个容器不能失常拜访到k8s.gcr.io去拉取镜像
参照https://minikube.sigs.k8s.io/... 正确配置的办法为:
export HTTP_PROXY=http://<proxy hostname:port>export HTTPS_PROXY=https://<proxy hostname:port>export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.0/24,192.168.39.0/24,192.168.49/24minikube start
(官网文档漏掉了192.168.49/24
)
问题就在于怎么让minikube连上windows的梯子。
假如咱们在windows关上了一个容许来自局域网连贯的HTTP代理服务,端口为10809。
那么为WSL2配置代理时,咱们首先要晓得WSL2下,windows的IP地址,则须要运行
cat /etc/resolv.conf
其中显示的nameserver则为WSL2连贯到windows的IP地址,假如值为172.80.18.1
因而咱们能够为WSL2设置梯子:
export HTTP_PROXY=http://172.80.18.1:10809export HTTPS_PROXY=http://172.80.18.1:10809
这样咱们就能在WSL2中应用到代理服务拜访外网
!然而这样也无奈让minikube连贯到外网。
因为minikube是运行在docker desktop中的,不能间接应用到WSL2的网络(有误请斧正)。而咱们在开启WSL2中运行minikube的时候,minikube的零碎会应用WSL2的网络环境变量(HTTP_PROXY, HTTPS_PROXY, NO_PROXY)作为minikube的环境变量。因而,正确的填写形式是:
export HTTP_PROXY=http://host.docker.internal:10809export HTTPS_PROXY=http://host.docker.internal:10809export NO_PROXY=localhost,127.0.0.1,10.96.0.0/12,192.168.99.0/24,192.168.39.0/24,192.168.49/24minikube start
其中host.docker.internal在容器中会被容器的DNS服务解析为宿主的IP地址,也就是容器与windows通信的IP地址,相似WSL2与windows通信的IP地址。
这样设置,minikube就能应用到零碎代理。