手工在Docker for mac上安装Kubernetes

通常开发都是使用单机版的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也跟着起来了。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏陈仁松博客

ASP.NET Core 'Microsoft.Win32.Registry' 错误修复

今天在发布Asp.net Core应用到Azure的时候出现错误InvalidOperationException: Cannot find compilati...

4878
来自专栏pangguoming

Spring Boot集成JasperReports生成PDF文档

由于工作需要,要实现后端根据模板动态填充数据生成PDF文档,通过技术选型,使用Ireport5.6来设计模板,结合JasperReports5.6工具库来调用渲...

1.2K7
来自专栏java 成神之路

使用 NIO 实现 echo 服务器

4787
来自专栏C#

DotNet加密方式解析--非对称加密

    新年新气象,也希望新年可以挣大钱。不管今年年底会不会跟去年一样,满怀抱负却又壮志未酬。(不过没事,我已为各位卜上一卦,卦象显示各位都能挣钱...)...

4948
来自专栏跟着阿笨一起玩NET

c#实现打印功能

2872
来自专栏我和未来有约会

Kit 3D 更新

Kit3D is a 3D graphics engine written for Microsoft Silverlight. Kit3D was inita...

2616
来自专栏落花落雨不落叶

canvas画简单电路图

64511
来自专栏一个会写诗的程序员的博客

Spring Reactor 项目核心库Reactor Core

Non-Blocking Reactive Streams Foundation for the JVM both implementing a Reactiv...

2222
来自专栏大内老A

The .NET of Tomorrow

Ed Charbeneau(http://developer.telerik.com/featured/the-net-of-tomorrow/) Exciti...

32310
来自专栏Golang语言社区

【Golang语言社区】GO1.9 map并发安全测试

var m sync.Map //全局 func maintest() { // 第一个 YongHuomap := make(map[st...

4828

扫码关注云+社区