Docker版本18.09支持哪个kubernetes版本

时间:2018-11-12 06:13:20

标签: docker kubernetes version

我正在使用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.71.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=...`

我应该为kubernetesdocker指定哪个版本才能正常运行。另外,如何在安装docker时指定版本。我通常使用以下命令安装docker:

curl -sSL get.docker.com | sh 

4 个答案:

答案 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