Which kubernetes version is supported in docker version 18.09
Solution 1
In Kubernetes there is nothing like supported. Instead of it they use validated - it means that all features were tested and validated with some Docker version.
And validated Docker versions are still the same from Kubernetes version 1.8 until 1.11: Docker 1.11.2 to 1.13.1 and 17.03.x. See here: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#external-dependencies and here https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#external-dependencies
Starting from Kubernetes version 1.12 Docker 17.06, 17.09 and 18.06 started to be also validated. See here: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies
As I know final version of Docker 18.09 was released 4 days ago so here we cannot expect this version to be validated in Kubernetes now.
Update (9.4.2019): Docker 18.09 is validated against newly released Kubernetes 1.14: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md#external-dependencies
You can specify exact Docker version for the get.docker.com script by VERSION
variable:
export VERSION=18.03 && curl -sSL get.docker.com | sh
Solution 2
Here's how I "fixed" mine:
$ sudo kubeadm init --ignore-preflight-errors=SystemVerification
...
[WARNING SystemVerification]: unsupported docker version: 18.09.0
Here's what I saw when "preflight errors" were not ignored:
$ sudo kubeadm init
...
[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=...`
Here's the version of kubeadm
I used:
$ kubeadm version --output json
{
"clientVersion": {
"major": "1",
"minor": "12",
"gitVersion": "v1.12.2",
"gitCommit": "17c77c7898218073f14c8d573582e8d2313dc740",
"gitTreeState": "clean",
"buildDate": "2018-10-24T06:51:33Z",
"goVersion": "go1.10.4",
"compiler": "gc",
"platform": "linux/amd64"
}
}
Solution 3
As mentioned above, the message is more of a warning that not all features were tested against that specific Docker release. On your own risk, you can try to temporarily ignore those errors by using the --ignore-preflight-errors
flag. Eg :
kubedam init --ignore-preflight-errors all
Solution 4
I solved this problem as:
kubeadm init --ignore-preflight-errors=SystemVerification
S Andrew
I am electronics fresher. I am learning things so soon I'll start answering questions on SE and help everyone.
Updated on April 10, 2020Comments
-
S Andrew about 4 years
I am using
Raspberry pi
forkubernetes
cluster setup. I was using below docker version:Client: Version: 18.06.1-ce API version: 1.38 Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:30:52 2018 OS/Arch: linux/arm Experimental: false Server: Engine: Version: 18.06.1-ce API version: 1.38 (minimum version 1.12) Go version: go1.10.3 Git commit: e68fc7a Built: Tue Aug 21 17:26:37 2018 OS/Arch: linux/arm Experimental: false
Looks like now the docker version latest is
18.09.0
and the latestkubernetes
version is not supporting this docker version. I have even tried installing some older version of kube like1.9.7
or1.9.6
but while initiating thekubeadm init
, I am getting the below error:[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=...`
Which version should I specify for
kubernetes
anddocker
to run properly. Also how can we specify version while insatlling docker. I normally use below command to install docker:curl -sSL get.docker.com | sh
-
pensnarik over 5 yearsWhere should I put this variable definition so that get.docker.script could see it?
-
cgrim over 5 yearsYou can use that "one line" command or explicitly run
export VERSION=18.06
and then in the second stepcurl -sSL get.docker.com | sh
. It is an environment variable. -
Ashish Karpe over 4 yearsstuck at $ sudo kubeadm join 127.0.0.1:6443 --token XXXr42jr --discovery-token-ca-cert-hash sha256:bad5XXXX -->> error execution phase preflight: [preflight] Some fatal errors occurred: [ERROR IsDockerSystemdCheck]: cannot execute 'docker info': exit status 125 [ERROR SystemVerification]: failed executing "docker info --format '{{json .}}'"\noutput: flag provided but not defined: --format See 'docker info --help'. \nerror: exit status 125 [preflight] If you know what you are doing, you can make a check non-fatal with
--ignore-preflight-errors=...
-
Ashish Karpe over 4 years--ignore-preflight-errors=SystemVerification --ignore-preflight-errors=IsDockerSystemdCheck