Is this a BUG REPORT or FEATURE REQUEST? (choose one): BUG
Minikube version (use minikube version):
Environment:
cat ~/.minikube/machines/minikube/config.json | grep DriverName): virtualboxcat ~/.minikube/machines/minikube/config.json | grep -i ISO or minikube ssh cat /etc/VERSION): v0.19.0What happened:
Tried bringing up a minikube environment with kubernetes 1.5.3 (i.e. minikube start --kubernetes-version 1.5.3), but the kube-dns never appeared.
Logs of the addon manager pod contain:
~~~
INFO: == Executing apply to spin up new addon resources at 2017-05-17T14:35:55+0000 ==
configmap "kube-dns" created
error validating "/etc/kubernetes/addons/kube-dns-controller.yaml": error validating data: [found invalid field tolerations for v1.PodSpec, found invalid field optional for v1.ConfigMapVolumeSource]; if you choose to ignore these errors, turn validation off with --validate=false
error validating "/etc/kubernetes/addons/storageclass.yaml": error validating data: the server could not find the requested resource; if you choose to ignore these errors, turn validation off with --validate=false
~
What you expected to happen:
Assuming that 1.5.3 is listed as supported version, I would expect that a compatible kube-dns definition is used.
How to reproduce it (as minimally and precisely as possible):
minikube start --kubernetes-version 1.5.3, wait and check after a while that
a) the kube-dns controller and pods are missing
b) that you get errors in the logs of the addon manager
Anything else do we need to know:
This is an issue of the kube-dns pod that we use as an addon not being compatible with older versions of kubernetes. I am not sure what the best solution to this would be for users. We could have some kind of mapping of k8s-versions to the addons that we were using at the time that worked with them and use the appropriate addon if a past version was specified. In the meantime you can disable the addons that we launch using minikube addons disable kube-dns and then launch the appropriate kube-dns addon using kubectl or by placing the yaml in the .miniukbe/addons folder.
We've seen this on v0.19.0 with its default k8s version. v.0.18.0 works fine
@aaron-prindle maybe a heretical question ... but maybe it would make most sense to just drop the --kubernetes-version switch completely, or stop trying to have "addons" that somehow are part of minikube, but don't really follow the versioning logic?
Keeping a mapping around sounds like a lot of work, and thus is very likely to just break randomly unless being able to run old versions is really a feature that people need and value.
Installing addons based on their upstreams seems reasonable from an operational point of view, and would make me responsible for getting things to run. In essence this is what I do anyways with other parts of the system.
I think this issue is related to this https://github.com/kubernetes/minikube/issues/1521
minikube verison 19 broke our project, we are telling people to use minikube version 18
I have also had to revert to 0.18 as 0.19 is currently too unstable for us to use with its ingress/DNS issues
I also experienced DNS problems with version 0.19 of minikube. Reverting to 0.18 solved the problems.
This should be fixed by #1577
Most helpful comment
I have also had to revert to 0.18 as 0.19 is currently too unstable for us to use with its ingress/DNS issues