The kubernetes-*.service fleet units cannot start on slow connections
Closed this issue · 7 comments
I have included a fix for this in my pull request in #7.
The wget download that happens in all of the fleet service units was failing over and over and over on my machine (slow connection?) since the wget that was happening embedded in those units was never completing before being killed by systemd after a short timeout (~90 seconds). This would result in the failure to start of all of these units.
I have added a 900s timeout to each of those units, and some comments in the README to indicate that it may take a while on first start of the local cluster, for commands like 'kubectl' to work.
Without this Kubernetes was dead all over for me. Here is a gist with some of the failures I was seeing.
https://gist.github.com/grempe/9366906b34ea78210935
All seems to work well now. The wget downloads happen (slowly) and complete to allow the services to start.
Thanks for this one too, I had no issues with wget downloads and I think it depends where you are connecting from, your network setup and etc.
Will merge your PR and test it, if all good new version will be released later one today.
PR merged and released
Thanks for the release. Yes, for some reason the download of those components is incredibly slow for me (they may each take 4 or 5 minutes, running in parallel). It looks like the 'kubectl get minions' embedded in the setup and up scripts will never work in time unless you have a very fast connection. You might think of removing that.
Otherwise, I bet a lot of users of this tool are seeing:
k8s minions list:
F0316 08:58:22.992719 9355 get.go:158] Get http://172.17.15.101:8080/api/v1beta1/minions: dial tcp 172.17.15.101:8080: connection refused
Maybe a better strategy is to ship the latest binaries for that folder bundled in the release, but then have a fleet unit that is responsible for lazily updating them to the latest?
Thanks for merging my pull requests and for the quick release.
Glenn
@grempe yes, I'm thinking to include kubectl in to the bundle, as that only one file is needed for OS X and to download the whole kubernetes.tar.gz really takes a while.
And yes the Update can get the latest version then.
k8s upgrade on CoreOS it is another story, still looking for the best easy approach there, till Google guys release the proper k8s upgrade procedure.
Maybe as well to include binaries into the bundle and do the upgrade via fleet/systemd unit then.
Here we go, v0.2.7 comes with the k8s binaries and k8s cluster can be updated via Updates - Update Kubernetes cluster and OS X kubectl.