minikube: None w/ Docker 18.09: [ERROR SystemVerification]: unsupported docker version: 18.09.0
This is a BUG REPORT
VM-less Minikube fails to start on Docker 18.09:
[ERROR SystemVerification]: unsupported docker version: 18.09.0
Environment: Minikube version: v1.12.2
- OS: Debian 9
- VM Driver : None
What happened: Our test script that installs Docker and VM-less Minikube started failing. Upgrading Minikube to 1.12.2 did not help.
**Logs:
+ export MINIKUBE_WANTUPDATENOTIFICATION=false
+ MINIKUBE_WANTUPDATENOTIFICATION=false
+ export MINIKUBE_WANTREPORTERRORPROMPT=false
+ MINIKUBE_WANTREPORTERRORPROMPT=false
+ export MINIKUBE_HOME=/home/not-root
+ MINIKUBE_HOME=/home/not-root
+ export CHANGE_MINIKUBE_NONE_USER=true
+ CHANGE_MINIKUBE_NONE_USER=true
+ mkdir -p /home/not-root/.kube
+ touch /home/not-root/.kube/config
+ export KUBECONFIG=/home/not-root/.kube/config
+ KUBECONFIG=/home/not-root/.kube/config
+ sudo -E /usr/local/bin/minikube start --vm-driver=none --kubernetes-version=v1.12.2
Starting local Kubernetes v1.12.2 cluster...
Starting VM...
Getting VM IP address...
Moving files into cluster...
Downloading kubeadm v1.12.2
Downloading kubelet v1.12.2
Finished Downloading kubeadm v1.12.2
Finished Downloading kubelet v1.12.2
Setting up certs...
Connecting to cluster...
Setting up kubeconfig...
Starting cluster components...
E1109 23:47:22.788065 12517 start.go:297] Error starting cluster: kubeadm init error
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data-minikube --ignore-preflight-errors=Port-10250 --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI &&
sudo /usr/bin/kubeadm alpha phase addon coredns
running command: : running command:
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data-minikube --ignore-preflight-errors=Port-10250 --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI &&
sudo /usr/bin/kubeadm alpha phase addon coredns
output: [init] using Kubernetes version: v1.12.2
[preflight] running pre-flight checks
[WARNING FileExisting-ebtables]: ebtables not found in system path
[WARNING FileExisting-socat]: socat not found in system path
[preflight] The system verification failed. Printing the output from the verification:
KERNEL_VERSION: 4.9.0-8-amd64
CONFIG_NAMESPACES: enabled
CONFIG_NET_NS: enabled
CONFIG_PID_NS: enabled
CONFIG_IPC_NS: enabled
CONFIG_UTS_NS: enabled
CONFIG_CGROUPS: enabled
CONFIG_CGROUP_CPUACCT: enabled
CONFIG_CGROUP_DEVICE: enabled
CONFIG_CGROUP_FREEZER: enabled
CONFIG_CGROUP_SCHED: enabled
CONFIG_CPUSETS: enabled
CONFIG_MEMCG: enabled
CONFIG_INET: enabled
CONFIG_EXT4_FS: enabled (as module)
CONFIG_PROC_FS: enabled
CONFIG_NETFILTER_XT_TARGET_REDIRECT: enabled (as module)
CONFIG_NETFILTER_XT_MATCH_COMMENT: enabled (as module)
CONFIG_OVERLAY_FS: enabled (as module)
CONFIG_AUFS_FS: not set - Required for aufs.
CONFIG_BLK_DEV_DM: enabled (as module)
DOCKER_VERSION: 18.09.0
OS: Linux
CGROUPS_CPU: enabled
CGROUPS_CPUACCT: enabled
CGROUPS_CPUSET: enabled
CGROUPS_DEVICES: enabled
CGROUPS_FREEZER: enabled
CGROUPS_MEMORY: enabled
[WARNING Hostname]: hostname "minikube" could not be reached
[WARNING Hostname]: hostname "minikube" lookup minikube on 169.254.169.254:53: no such host
[preflight] Some fatal errors occurred:
[ERROR SystemVerification]: unsupported docker version: 18.09.0
[preflight] If you know what you are doing, you can make a check non-fatal with `--ignore-preflight-errors=...`
: running command:
sudo /usr/bin/kubeadm init --config /var/lib/kubeadm.yaml --ignore-preflight-errors=DirAvailable--etc-kubernetes-manifests --ignore-preflight-errors=DirAvailable--data-minikube --ignore-preflight-errors=Port-10250 --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-scheduler.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-apiserver.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-kube-controller-manager.yaml --ignore-preflight-errors=FileAvailable--etc-kubernetes-manifests-etcd.yaml --ignore-preflight-errors=Swap --ignore-preflight-errors=CRI &&
sudo /usr/bin/kubeadm alpha phase addon coredns
About this issue
- Original URL
- State: closed
- Created 6 years ago
- Reactions: 37
- Comments: 24 (6 by maintainers)
Removing the old version with :
sudo apt-get purge docker-cesudo rm -rf /var/lib/dockerAnd then reinstall as @afbjorklund said :
apt-get update && apt-get install docker-ce=18.06.0~ce~3-0~ubuntuWorked for me.
How about this:
Confirmed. I see the same.
@tstromberg : according to the kubeadm documentation, it is supposed to be on “hold” for now:
https://kubernetes.io/docs/setup/cri/#docker
I also dislike the way that the new “containerd.io” package now conflicts with “runc”, breaking apt…
Then again “cri-o-1.10” uses “cri-o-runc”, so I guess they can coexist. Just bad upgrade experience.
@afbjorklund kubernetes pre-flight checks have 3 possible outcome: OK, WARNING, ERROR.
The docker version check can return the 3 outcomes:
Since docker 18.09 we get an ERROR instead of an expected WARNING.
Analysis
Code
https://github.com/kubernetes/kubernetes/blame/master/cmd/kubeadm/app/util/system/docker_validator.go#L73-L99
matchedis for supported versions: in our case it’s false\d{2}\.\d+\.\d+-[a-z]{2}regexExpected result: the
verregex matches on the 18.09 docker version, and thus returns a WARNING.Actual result: the
verregex does no match, and thus returns an ERROR.Docker versions
18.06
18.09
They dropped the
-cesuffix in this new version => the regex should be updated.it’s helpful to get the exact
docker-ceversion number on non-ubuntu debian versions:if you are using ubuntu 16.04, this is the magic command that solves it all sudo apt-get install docker.io=18.06.1-0ubuntu1.2~16.04.1