手工在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 条评论
登录 后参与评论

相关文章

来自专栏云计算教程系列

如何在CentOS 7上安装和加固Memcached

像Memcached这样的内存对象缓存系统可以通过在内存中临时存储信息,保留频繁或最近请求的记录来优化后端数据库性能。通过这种方式,它们可以减少对数据库的直接请...

823
来自专栏数说工作室

零基础搭建分布式集群的几个方法

大家好,许久没更新了,这段时间忙着换工作和交接过度(对,换工作了);另一方面,这段时间试着搭建了一下分布式集群,本来打算跟大家详细分享一下,由于是零基础,中间还...

3415
来自专栏乐沙弥的世界

Linux 下配置nginx到php的连接

安装Nginx:Linux 6 下安装编译安装Nginx 安装PHP : Linux 6 下编译安装 PHP 5.6

681
来自专栏IT 指南者专栏

IntelliJ IDEA 2017.3下载与安装

大约在2017年暑假的时候知道了IntelliJ IDEA,但是那个时候一心认为有Eclipse就足够用了,然而今天在网上冲浪的时候发现,IntelliJ ID...

3077
来自专栏醉程序

无线路由器实现校园网锐捷登陆并建立WIFI热点

1114
来自专栏云计算教程系列

使用SmokePing监控你的服务器

SmokePing是一款监控网络状态和稳定性的开源软件(它是rrdtool的作者开发的),通过它可以监控到公司IDC的网络状况,如延时,丢包率,是否BGP多线等...

2585
来自专栏云计算教程系列

如何在Ubuntu上安装MutliCraft

PS:本文撰写前已查询相关法律,本文内容不违反《互联网文化管理暂行规定》,遵守EULA协议,请勿举报。

892
来自专栏Java技术栈

Maven精选系列--POM文件解析

之前有介绍到maven的标准目录结构,也看到了maven的核心配置文件pom.xml文件,今天就解析这个配置文件。 maven工程的核心文件就是这个pom文件了...

34914
来自专栏软件开发

Maven快速学习教程

在开发中经常需要依赖第三方的包,包与包之间存在依赖关系,版本间还有兼容性问题,有时还里要将旧的包升级或降级,当项目复杂到一定程度时包管理变得非常重要。

1274
来自专栏c#开发者

Updater application block 2.1使用和扩展

Updater application block 2.1使用和扩展 概述 Updater application block简称UAB,是Microsof...

2443

扫码关注云+社区