本文发表较早,目前有更好的方法,请参考网页:https://github.com/AliyunContainerService/k8s-for-docker-desktop
以下为原文
单机版通常用于开发。Docker环境,不太担心Docker集群事务。 在这种单机环境下,命令行操作Docker我觉得好用,如果遇到解决不了的问题,还有脚本,如果有什么是一个脚本解决不了的。。。。那是两个。 :) 久而久之,很多事情都习惯了Docker从服务发现、负载平衡等角度思考,直接使用Docker端口映射配合HAPROXY感觉就够了。然后这方面的知识就固化在这一点上,再也没有更新过。 而实际上Kubernetes大概每三个月发出一个新版本的速度,快速的成长着。以至于感觉还是搬到了Kubernetes比如看起来Kubernetes内置的service/dns/proxy配合做负载平衡,虽然也有一些批评,但还是比自己原来的方式好很多啊。至少即使你写脚本,你也不想用别人成熟的脚本。你必须改变自己。
Docker for Mac的Edge版本直接包含内置Kubernetes。但第一次安装遇到麻烦,在设置中打开Kubernetes支持后,命令行工具kubectl安装很快就成功了,但是Kubernetes一直停留在安装界面,看不到动作和进展。 查了查,发现又卡了。Docker下载图像文件,Kubernetes毕竟是Google开发工具,所以放在里面Google自己的仓库中,域名是gcr.io,不能在中国访问。 因为Docker默认使用https协议,所以通常FQ代理直接返回TLS签名错误,仍无法下载。手头没有好用的VPN。 幸运的是,有些人在网上做了类似的准备。找到一个centos下安装同样1.92版本的Kubernetes的记录(https://my.oschina.net/binges/blog/1615955)。 其中Kubernetes原作者已经下载并导出了使用的几个图像tar将文件放在百度云上,下载地址:https://pan.baidu.com/s/1dzQyiq,密码:dyvi。还有一些分享centos用的Kubernetes请忽略软件包,在Mac上不需要。 将这些文件放入文件夹中:
etcd-amd64.tar k8s-dns-dnsmasq-nanny-amd64.tar k8s-dns-kube-dns-amd64.tar k8s-dns-sidecar-amd64.tar kube-apiserver-amd64.tar kube-controller-manager-amd64.tar kube-proxy-amd64.tar kube-scheduler-amd64.tar pause-amd64.tar
然后执行一行脚本脚本:
for i in `ls`;do docker load < $i ;done
可在导入后使用docker images
查看:
docker images REPOSITORY TAG IMAGE ID CREATED SIZE gcr.io/google_containers/kube-proxy-amd64 v1.9.2 e6754bb0a529 12 days ago 109.1 MB gcr.io/google_containers/kube-controller-manager-amd64 v1.9.2 769d889083b6 12 days ago 137.8 MB gcr.io/google_containers/kube-apiserver-amd64 v1.9.2 7109112be2c7 12 days ago 210.4 MB gcr.io/google_containers/kube-scheduler-amd64 v1.9.2 2bf081517538 12 days ago 62.71 MB gcr.io/google_containers/etcd-amd64 3.1.11 59d36f27cceb 8 weeks ago 193.9 MB gcr.io/google_containers/k8s-dns-sidecar-amd64 1.14.7 db76ee297b85 3 months ago 42.03 MB gcr.io/google_containers/k8s-dns-kube-dns-amd64 1.14.7 5d049a8c4eec 3 months ago 50.27 MB gcr.io/google_containers/k8s-dns-dnsmasq-nanny-amd64 1.14.7 5feec37454f4 3 months ago 40.95 MB gcr.io/google_containers/pause-amd64 3.0 99e59f495ffa 21 months ago 746.9 kB
如果你打算用你习惯的加速器或国内镜像替换这些图像,这些图像都是带有版本号标签的。docker pull下载时,记得添加标签,否则因为latest标签,会找不到图像。 有了这些图像,重启它们Docker for Mac,你会看到Docker起床后等一会儿,Kubernetes也跟着。