首先说明,我的虚拟机上的ubuntu系统是走了代理的,能够直接访问谷歌,所以才会有后面的流程和问题。
1.安装virtualbox
sudo apt-get install virtualbox
2.安装kubectl
curl -Lo kubectl https://storage.googleapis.com/kubernetes-release/release/v1.13.1/bin/linux/amd64/kubectl \ && chmod +x kubectl \ && sudo mv kubectl /usr/local/bin/
3.安装minikube
curl -Lo minikube https://storage.googleapis.com/minikube/releases/v0.31.0/minikube-linux-amd64 && chmod +x minikube && sudo cp minikube /usr/local/bin/ && rm minikube
一开始我的ubuntu系统走的自动代理,curl老是报错curl: (35) error:1408F10B:SSL routines:ssl3_get_record:wrong version number
具体也不知道啥问题,反正我就把自动代理脚本里面的代理服务器地址拿出来,改成手动代理。这样curl就没报错了。
然后就到了蛋疼minikube start 环节。一开始使用的命令是
minikube start
如果电脑不能访问https://storage.googleapis.com,那么还是会出现如下图问题。
Ubuntu设置代理有两个地方,如下图
这个地方设置代理,只对浏览器生效,对shell终端不生效。因此还要通过编辑~/.bashrc添加终端代理
此时就可以通过minikube start启动了
但是启动后你会发现进程一直卡在这儿了Starting cluster components...这儿了。通过minikube logs发现有如下错误
此时应该先删除上一次minikube启动的虚拟机,执行命令
minikube delete
然后再用如下命令启动minikube
minikube start --docker-env http_proxy=$http_proxy --docker-env https_proxy=$https_proxy --docker-env no_proxy=192.168.99.0/24
这次你会发现已经成功了,这是因为minikube自己本身就是一个虚拟机,所以他也要设置代理。
同时在~/.bashrc最后要加上NO_PROXY,因为kubectl访问minikube的时候也不需要代理。
如果还是有问题,建议清空minikube相关信息
sudo rm -rf ~/.minikube ~/.kube /etc/kubernetes
在重新走一遍上面的步骤
具体参考:
https://github.com/kubernetes/minikube/blob/master/docs/http_proxy.md
https://codefarm.me/2018/08/09/http-proxy-docker-minikube/
https://kubernetes.io/docs/setup/minikube/
https://github.com/kubernetes/minikube/issues/530
http://docs.kubernetes.org.cn/126.html