docker版本18.09支持哪个kubernetes版本
我正在使用docker版本18.09支持哪个kubernetes版本,docker,kubernetes,version,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 Ex
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
在库伯内特斯,没有什么比这更好的了。取而代之的是,他们使用的是经过验证的——这意味着所有功能都经过了测试,并通过了某个Docker版本的验证 从Kubernetes 1.8版到1.11版,经过验证的Docker版本仍然相同:Docker 1.11.2到1.13.1和17.03.x。请看这里: 这里呢 从Kubernetes版本1.12开始,Docker 17.06、17.09和18.06也开始验证。请看这里: 据我所知,Docker 18.09的最终版本是在4天前发布的,所以现在我们不能指望这个版本在Kubernetes中得到验证 更新(2019年4月9日):Docker 18.09已根据新发布的Kubernetes 1.14进行验证:
您可以通过
version
变量为get.Docker.com脚本指定确切的Docker版本:
export VERSION=18.03 && curl -sSL get.docker.com | sh
如上所述,该消息更多的是警告,并非所有功能都针对特定Docker版本进行了测试。您可以尝试使用
--ignore preflight errors
标志暂时忽略这些错误,风险自负。如:
kubedam init——忽略飞行前的所有错误
以下是我如何“修复”我的错误:
以下是我在“飞行前错误”未被忽略时看到的情况:
$ 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
版本:
$ 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"
}
}
我解决这个问题的方法是:
kubeadm init--忽略飞行前错误=系统验证
我应该把这个变量定义放在哪里,以便get.docker.script可以看到它?您可以使用“一行”命令或显式运行
export VERSION=18.06
,然后在第二步curl-sSL get.docker.com | sh
。它是一个环境变量。卡在$sudo kubeadm join 127.0.0.1:6443——令牌XXXr42jr——发现令牌ca证书哈希sha256:BAD5xxx-->>错误执行阶段预飞行:[预飞行]出现一些致命错误:[错误IsDockerSystemCheck]:无法执行“docker信息”:退出状态125[错误系统验证]:执行“docker info--format'{{json.}}'”失败\n输出:已提供但未定义标志:-format请参阅“docker info--help”\错误:退出状态125[飞行前]如果您知道自己在做什么,可以使用--忽略飞行前错误=…
--忽略飞行前错误=系统验证--忽略飞行前错误=IsDockerSystemCheck进行非致命检查
$ 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"
}
}