Minikube on Windows and HyperV: Stuck on prompt “minikube login”

梦想与她 提交于 2019-12-06 03:34:54

问题


I'm "extremely" new to Kubernetes, and I wanted to try it out on my local machine, which is running Windows 10 along with HyperV. I saw that minikube is used for local development, and I was able to find in on Chocolatey, so I installed it using that:

choco install minikube -y

(I think this also installs kubectl)

The problem I have is that I'm not able to start it; I'm running the following command:

minikube start --vm-driver=hyperv

I have an external switch configured in HyperV (I found it as a suggestion somewhere), but when I run the command, it's stuck in Creating VM ...

I thought maybe it would give me a clue if I look at the VM created in HyperV, and when I open that, I see the following:

So, it seems that it's waiting for input, and that's why it's stuck! I tried searching for the problem, but to no avail.

I would appreciate any help

PS: It seems to me that if I wait long enough, the following message appears on the console:

Temporary Error: provisioning: error getting ssh client: Error dialing
    tcp via ssh client: ssh: handshake failed: ssh: unable to authenticate, 
    attempted methods [none publickey], no supported methods remain

回答1:


So, somehow by chance, I think I found how to resolve the issue.

First thing is that: the fact the VM is displaying that prompt (minikube login) seems to be normal, and it does NOT prevent the minikube start from succeeding.

To resolve the issue, this is what I did:

  • Delete ~/.kube directory
  • Delete ~/.minikube directory (in case it exists)
  • The MOST IMPORTANT step: stop/start the Hyper-V Virtual Machine Management Windows service

These steps seem to have solved the issue for me

PS: I used this command to start minikube and enable verbose logging:

minikube start --vm-driver hyperv -v 7 --alsologtostderr



回答2:


Farzad, what resources have you used for setting up the minikube? Can you please clarify what do you mean by "unable to start". Are the regular kubectl commands working? For example kubectl get nodes? That is of course if below steps won't help you.

The screenshot you shared shows a running VM:

Minikube runs a single-node Kubernetes cluster inside a VM on your laptop for users looking to try out Kubernetes or develop with it day-to-day.

You mentioned that you've created the vSwitch, you should be using a flag that is pointing minikube to use that external vSwitch: minikube start --vm-driver hyperv --hyperv-virtual-switch "vSwitch name"

You also mentioned choco, did you install kubernetes-cli (as you did not mention it in the question)? It might be the reason why your commands do not work (seems like the new version downloads kubectl with choco install minikube):

kubectl is a command line interface for running commands against Kubernetes clusters

At this moment I recommend stoping the minikube VM: minikub stop Delete the cluster minikube delete

Sometimes regular minikube stop, minikube delete does not work so you might have to manually turn off the minikubeVM in Hyper-V, then I recommend to go to c:\users\%username%\ and delete .kube and .minikube.

Use cuninst minikube

Restart and install again as specified in the minikube documentation:

choco install minikube

choco install kubernetes-cli

As for the error you mentioned, let's try to run the cluster properly, and if this persists, we will take care of it.



来源:https://stackoverflow.com/questions/52633267/minikube-on-windows-and-hyperv-stuck-on-prompt-minikube-login

易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!