J'utilise Raspberry Pi
pour la configuration du cluster kubernetes
. J'utilisais la version ci-dessous de docker:
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
On dirait que la version la plus récente de docker est le 18.09.0
et que la dernière version de kubernetes
ne prend pas en charge cette version de docker. J'ai même essayé d'installer une version plus ancienne de kube telle que 1.9.7
ou 1.9.6
, mais lors du lancement du kubeadm init
, le message d'erreur ci-dessous s'affiche:
[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=...`
Quelle version dois-je spécifier pour que kubernetes
et docker
s'exécutent correctement? Aussi, comment pouvons-nous spécifier la version tout en insérant le menu fixe. J'utilise normalement la commande ci-dessous pour installer docker:
curl -sSL get.docker.com | sh
Dans Kubernetes, rien ne ressemble à supporté. Au lieu de cela, ils utilisent validé _ - cela signifie que toutes les fonctionnalités ont été testées et validées avec certaines versions de Docker.
Et les versions validées de Docker sont toujours les mêmes de Kubernetes version 1.8 à 1.11: Docker 1.11.2 à 1.13.1 et 17.03.x. Voir ici: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#external-dependencies Et ici https://github.com/ kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md # external-dependencies
À partir de Kubernetes, les versions 1.12 Docker 17.06, 17.09 et 18.06 ont également commencé à être validées. Voir ici: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies
Comme je le sais, la version finale de Docker 18.09 a été publiée il y a 4 jours. Nous ne pouvons donc pas nous attendre à ce que cette version soit validée dans Kubernetes maintenant.
Vous pouvez spécifier la version exacte de Docker pour le script get.docker.com avec la variable VERSION
:
export VERSION=18.03 && curl -sSL get.docker.com | sh
Comme mentionné ci-dessus, le message est davantage un avertissement que toutes les fonctionnalités n'ont pas été testées par rapport à cette version de Docker. À vos risques et périls, vous pouvez essayer d'ignorer temporairement ces erreurs en utilisant l'indicateur --ignore-preflight-errors
. Par exemple: kubedam init --ignore-preflight-errors all
Voici comment j'ai "réparé" le mien:
$ Sudo kubeadm init --ignore-preflight-errors=SystemVerification
...
[WARNING SystemVerification]: unsupported docker version: 18.09.0
Voici ce que j'ai vu lorsque les "erreurs de contrôle en amont" étaient pas ignorées:
$ 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=...`
Voici la version de kubeadm
que j'ai utilisée:
$ 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"
}
}
J'ai résolu ce problème en tant que:
kubeadm init --ignore-preflight-errors = SystemVerification