在Ubuntu 14.04 上部署K8S过程大致如下:
1.执行apt-get update 和 apt-upgrade
2.配置apt的代理(公司网络通过代理上网)
3.通过apt-get install docker.io方式安装docker
4.编译k8s,以本地模式启动
2.问题
发现无法正常启动,无法执行kubectl 命令,日志中包含的错误信息为:某个资源在Busy状态,并且无法删除。最终跟踪到apiserver.log,controller.log和scheduler.log发现docker的api version过低,原来k8s要求的docker 的 api version >= 1.2 这里需要注意的是,docker api version 并不是docker 的版本,通过 apt-get install docker.io的方式安装的docker版本为1.6,但是api version 却是1.1,倒是k8s无法正常启动。
3.解决方案
安装docker engine,而不是docker.io,执行apt-get install docker-engine
docker engine 的 相关信息如下:
root@ubuntu:~# docker version Client: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: linux/amd64 Server: Version: 1.9.1 API version: 1.21 Go version: go1.4.3 Git commit: a34a1d5 Built: Fri Nov 20 17:56:04 UTC 2015 OS/Arch: linux/amd64 root@ubuntu:~#或者使用lxc-docker 也可以,只需要api version 版本 >= 1.2 即可