Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Kubernetes with Vagrant nodes won't register

I have been going through this to get started with Kubernetes, running on Mac OS v 10.9.5, Vagrant v 1.7.4, VirtualBox v 4.3.28, and Kubernetes v 1.0.3.: https://github.com/kubernetes/kubernetes/blob/master/docs/getting-started-guides/vagrant.md

Full install log can be found here: http://mcdonaldland.info/files/kubernetes/install-log.txt

I've tried both the download and sh install versions of this.

I've run this multiple times and every time it gets to the "waiting for each minion to be registered with cloud provider" step and loops forever. Eventually, I "CTRL+C" and exit the script. In looking at the source it obviously has something to do with the nodes not being found, but I can't figure out why it cannot find them.

After killing the script, running 'kubectl get nodes' returns nothing. The same happens if I used the SH script.

If I am in the ~/kubernetes/cluster director and run 'vagrant ssh master' or 'vagrant ssh minion-1' I can connect to them. If I run some scripts to add pods I can get them to register. Same with Replication Controllers.

When I check status the pods will never start. When I dig into the logs it appears that the nodes cannot be connected to (aka found) and the minions are erroring on startup.

I have been struggling for 5 days now to figure out why my nodes are not showing up / registering properly. I figure I'm missing something simple but am at a loss now.

Any help is appreciated. Thanks in advance.

like image 580
finn0013 Avatar asked Aug 18 '15 03:08

finn0013


2 Answers

The reason is a bug in kubernetes. It seems to be a TLS error.

If you manually download kubernetes 1.0.1 you will get closer. However, there's been a bugfix that you'll need to patch into 1.0.1 to make it work properly with vagrant. Otherwise, network provisioning will not work and you'll run into this issue.

So, as suggested there, apply these changes to the provision scripts of v1.0.1 and you'll be good to go. Simple, right?

like image 185
Esteban Avatar answered Oct 05 '22 22:10

Esteban


I apologize for the issue that you encountered.

A fix for the issue reported is opened as a pull request here:

https://github.com/kubernetes/kubernetes/pull/13224

Once merged, you should be able get node registration to work. There was a leading space character in the YAML file for the kubelet kubeconfig that was the source of the problem.

If you do not want to wait for the referenced PR to land, the issue is already resolved in our master branch.

like image 24
Derek Carr Avatar answered Oct 05 '22 21:10

Derek Carr