由于我国局域网的现状,我在安装minikube的时候出现了问题。
按照官网教程下载来了minikube和kubectl,然后按照官网教程minikube start
。我是在Virtualbox里面的Ubuntu18.04虚拟机里面装的,所以不能嵌套虚拟机,因此采用docker作为容器。
因此,命令变为 minikube start --driver=none
。然而直接运行就会显示
VM is unable to access k8s.gcr.io, you may need to configure a proxy or set --image-repository
然后在之后出现大量报错,类似如下错误
[ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.18.0: output: Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
为此,我配置了proxy(electron-ssr)。配置proxy的时候遇到了巨多的坑,如下:
-
在设置proxy的时候,一定要注意环境变量是分大小写的,如果一开始设置错了HTTP_PROXY,后来设置了http_proxy,也是会有问题的,必须用
export -n HTTP_PROXY
删除之。 -
即便使用了
export -n HTTP_PROXY
删除了环境变量,如果直接在当前的Shell使用minikube start
命令,也是会出错的,因为此时该变量是从环境变量里删除了,依然存在于当前的Shell中,比如通过echo $HTTP_PROXY
依然可以显示出来。因此要设置HTTP_PROXY=""
来删除这个Shell变量。注意这里等号两边不能有空格! -
一般
minikube start
需要sudo,这样子又会导致一个问题:不使用sudo设置的环境变量在sudo时会丢失,因此可以用以下的方法:sudo export ...
- 更改
/etc/sudoers
,在里面的Defaults env_keep=
后面加上HTTP_PROXY HTTPS_PROXY http_proxy https_proxy NO_PROXY no_proxy
,注意要通过空格分离。