web-dev-qa-db-ger.com

Welche kubernetes-Version wird in der Docker-Version 18.09 unterstützt

Ich benutze Raspberry Pi für kubernetes Cluster-Setup. Ich habe die folgende Docker-Version verwendet:

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

Es sieht so aus, als wäre die Docker-Version jetzt 18.09.0 und die neueste Version von kubernetes unterstützt diese Docker-Version nicht. Ich habe sogar versucht, eine ältere Version von kube wie 1.9.7 oder 1.9.6 zu installieren, aber während ich kubeadm init initiiere, erhalte ich die folgende Fehlermeldung:

[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=...`

Welche Version sollte ich angeben, damit kubernetes und docker ordnungsgemäß ausgeführt werden. Wie können wir außerdem die Version angeben, während das Docker installiert wird. Ich benutze normalerweise den folgenden Befehl, um das Docker zu installieren:

curl -sSL get.docker.com | sh 
7
S Andrew

In Kubernetes gibt es nichts wie unterstützt. Stattdessen verwenden sie validiert - dies bedeutet, dass alle Funktionen mit einigen Docker-Versionen getestet und validiert wurden.

Die validierten Docker-Versionen sind von Kubernetes Version 1.8 bis 1.11 immer noch gleich: Docker 1.11.2 bis 1.13.1 und 17.03.x. Siehe hier: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#external-dependencies Und hier https://github.com/ kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md # externe abhängigkeiten

Ab Kubernetes Version 1.12 wurden Docker 17.06, 17.09 und 18.06 ebenfalls validiert. Siehe hier: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies

Da ich weiß, dass die letzte Version von Docker 18.09 vor 4 Tagen veröffentlicht wurde, können wir nicht davon ausgehen, dass diese Version jetzt in Kubernetes validiert wird.


Sie können die genaue Docker-Version für das get.docker.com-Skript über die Variable VERSION angeben:

export VERSION=18.03 && curl -sSL get.docker.com | sh
14
cgrim

Wie oben erwähnt, ist die Meldung eher eine Warnung, dass nicht alle Funktionen mit dieser speziellen Docker-Version getestet wurden. Auf eigene Gefahr können Sie versuchen, diese Fehler mit dem Flag --ignore-preflight-errors vorübergehend zu ignorieren. ZB: kubedam init --ignore-preflight-errors all

1
Daniel

So habe ich meine "repariert":

$ Sudo kubeadm init --ignore-preflight-errors=SystemVerification
...
        [WARNING SystemVerification]: unsupported docker version: 18.09.0

Folgendes habe ich gesehen, als "Preflight-Fehler" nicht ignoriert wurden:

$ 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=...`

Hier ist die Version von kubeadm, die ich verwendet habe:

$ 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"
  }
}
0
rubicks

Ich habe dieses Problem gelöst als:

kubeadm init --ignore-preflight-errors = SystemVerification

0
alexvirtualbr