我正在使用 Raspberry pi
进行 kubernetes
集群设置。我使用的是以下 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
看起来现在最新的 docker 版本是 18.09.0
并且最新的 kubernetes
版本不支持这个 docker 版本。我什至尝试安装一些旧版本的 kube,例如 1.9.7
或 1.9.6
但是在启动 kubeadm init
时,我得到了以下错误:
[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=...`
我应该为 kubernetes
和 docker
指定哪个版本才能正常运行。另外,我们如何在安装 docker 时指定版本。我通常使用以下命令来安装 docker:
curl -sSL get.docker.com | sh
最佳答案
在 Kubernetes 中没有像 支持 这样的东西。他们使用 validated 代替它——这意味着所有功能都经过了一些 Docker 版本的测试和验证。
从 Kubernetes 版本 1.8 到 1.11,经过验证的 Docker 版本仍然相同:Docker 1.11.2 到 1.13.1 和 17.03.x。看这里: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.8.md#external-dependencies 在这里https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.11.md#external-dependencies
从 Kubernetes 版本 1.12 开始,Docker 17.06、17.09 和 18.06 也开始进行验证。看这里: https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.12.md#external-dependencies
据我所知,Docker 18.09 的最终版本是 4 天前发布的,所以我们不能指望这个版本现在在 Kubernetes 中得到验证。
更新 (9.4.2019): Docker 18.09 已针对新发布的 Kubernetes 1.14 进行了验证:https://github.com/kubernetes/kubernetes/blob/master/CHANGELOG-1.14.md#external-dependencies
您可以通过 VERSION
变量为 get.docker.com 脚本指定确切的 Docker 版本:
export VERSION=18.03 && curl -sSL get.docker.com | sh
关于docker - docker 18.09 版本支持哪个 kubernetes 版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53256739/