Which kubernetes version is supported in docker version 18.09

11/12/2018

I am using Raspberry pi for kubernetes 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 latest kubernetes version is not supporting this docker version. I have even tried installing some older version of kube like 1.9.7 or 1.9.6 but while initiating the kubeadm 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 and docker 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 
-- S Andrew
docker
kubernetes
version

4 Answers

11/12/2018

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
-- cgrim
Source: StackOverflow

11/22/2018

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

-- Daniel
Source: StackOverflow

11/23/2018

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"
  }
}
-- rubicks
Source: StackOverflow

11/27/2018

I solved this problem as:

kubeadm init --ignore-preflight-errors=SystemVerification

-- alexvirtualbr
Source: StackOverflow