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
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
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
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"
}
}
I solved this problem as:
kubeadm init --ignore-preflight-errors=SystemVerification