我正在使用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
答案 0 :(得分:22)
在Kubernetes中,没有像 supported 这样的支持。他们使用 validated 代替它-这意味着所有功能都已通过某些Docker版本进行了测试和验证。
经过验证的Docker版本与Kubernetes版本1.8到1.11相同: 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
答案 1 :(得分:2)
如上所述,该消息更多是警告:并非针对该特定Docker版本测试了所有功能。您可以自行承担使用--ignore-preflight-errors
标志来暂时忽略这些错误的风险。例如:
kubedam init --ignore-preflight-errors all
答案 2 :(得分:1)
这是我“修复”我的方式:
private void TextBox_PreviewKeyDown(object sender, KeyEventArgs e)
{
if (!(sender is TextBox textbox))
{
return;
}
if (e.Key == Key.V && (e.KeyboardDevice.IsKeyDown(Key.LeftCtrl) || e.KeyboardDevice.IsKeyDown(Key.RightCtrl)))
{
textbox.AcceptsTab = true;
}
}
private void TextBox_KeyUp(object sender, KeyEventArgs e)
{
if (!(sender is TextBox textbox))
{
return;
}
textbox.AcceptsTab = false;
}
这是我忽略“预检错误”时看到的内容:
$ sudo kubeadm init --ignore-preflight-errors=SystemVerification
...
[WARNING SystemVerification]: unsupported docker version: 18.09.0
这是我使用的$ 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=...`
的版本:
kubeadm
答案 3 :(得分:0)
我通过以下方式解决了这个问题:
kubeadm init --ignore-preflight-errors = SystemVerification