minikube startのプロキシ越え
プロキシ環境化でminikubeのセットアップにはまったのでメモ。
詳細は https://github.com/kubernetes/minikube/issues/530 を参照。
環境
- CentOS Linux release 7.4.1708
- Docker 1.13.1
- VirtualBox 5.2.10
- minikube v0.26.1
プロキシ環境化でのminikube start方法
export HTTP_PROXY=http://xxx.xxx.xxx.xxx:xxxx export HTTPS_PROXY=http://xxx.xxx.xxx.xxx:xxxx export NO_PROXY=192.168.99.100 minikube start --vm-driver virtualbox --docker-env HTTP_PROXY=$HTTP_PROXY --docker-env HTTPS_PROXY=$HTTPS_PROXY
環境変数NO_PROXYの設定がない場合、minikube startがタイムアウトして起動しない。
Starting local Kubernetes v1.10.0 cluster... Starting VM... Downloading Minikube ISO 150.53 MB / 150.53 MB [============================================] 100.00% 0s Getting VM IP address... Moving files into cluster... Downloading kubeadm v1.10.0 Downloading kubelet v1.10.0 Finished Downloading kubelet v1.10.0 Finished Downloading kubeadm v1.10.0 Setting up certs... Connecting to cluster... Setting up kubeconfig... Starting cluster components... E0427 16:33:36.335447 3153 start.go:276] Error starting cluster: timed out waiting to unmark master: getting node minikube: Get https://192.168.99.100:8443/api/v1/nodes/minikube: Service Unavailable
miniikube startして1〜2分しても応答がない場合、minikube logs -f でログを確認すると、以下のようなログ数行間隔で繰り返し出力されている。
minikube logs -f Apr 27 07:32:45 minikube kubelet[3541]: E0427 07:32:45.564897 3541 reflector.go:205] k8s.io/kubernetes/pkg/kubelet/kubelet.go:460: Failed to list *v1.Node: Get https://192.168.99.100:8443/api/v1/nodes?fieldSelector=metadata.name%3Dminikube&limit=500&resourceVersion=0: dial tcp 192.168.99.100:8443: getsockopt: connection refused
起動に途中で失敗した場合、環境をクリーンにした上でリトライする。
minikube delete rm -rf ~/.minikube