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

相关文章

来自专栏北京马哥教育

马哥金牌分享 | Docker在云家政的应用

本文是由运维专家、马哥教育特约讲师Fighter分享的《Docker在云家政的应用》的文字整理版。 大家晚上好,我是Fighter,今晚由我给大家分享《Dock...

3297
来自专栏运维小白

25.1 Docker简介

Docker介绍 Docker流行的特性:在于快速部署交覆 比如在企业中做开发,还是在线上跑一些服务,跑一些业务,都需要去部署很多的环境,如lnmp,mysq...

4877
来自专栏bdcn

CoreOS那些事之Rkt容器尝鲜(下) 转

2015年是各种容器技术与名词扎堆的一年,Docker的出现使得“应用容器”的实施变得易如反掌的同时,也带动了它的许多竞争者。其中一个比较有趣的看点就在于“容器...

1792
来自专栏信达雅

OpenShift 的容器镜像(第 3 部分):使您的镜像易用

这是我在欧洲,中东和非洲(EMEA)红帽技术交流 2017 会议上的一个会议记录,与会者包括 EMEA 所有红帽解决方案架构师和顾问。会议的主要内容包括了在创建...

2216
来自专栏Debian社区

Docker 17.06 社区版发布

今天我们发布了Docker CE 17.06,它包含了诸多新特性、优化和bug修复。我们在四月份的DockeCon上公布了Moby项目,Docker CE 17...

1044
来自专栏FreeBuf

格盘也没用:Hacking Team使用UEFI BIOS Rootkit将远控长驻操作系统

上周Hacking Team 400G泄露数据在市面上疯传,已有3枚Flash 0day漏洞和一枚Android漏洞被曝光,而本周趋势科技的研究人员又有了重大发...

3506
来自专栏码代码的陈同学

Docker容器无法被stop or kill问题

使用docker stop / docker kill / docker rm -f 等命令处理后,容器立马自动重启

9673
来自专栏IT派

如何用两个小时入门 Docker?

最初的2小时,你会爱上Docker,对原理和使用流程有个最基本的理解,避免满世界无头苍蝇式找资料。本人反对暴风骤雨式多管齐下狂轰滥炸的学习方式,提倡迭代学习法,...

701
来自专栏Java工程师日常干货

docker化你的java应用(下)

在《docker化你的java应用(上)》中,我们已经初步接触了docker的核心概念与思想,本篇博客将对docker进行实践,会介绍一些docker常用的命令...

1221
来自专栏SDNLAB

用防火墙来保障容器安全(Docker/Kubernetes)

在部署任何基于容器的应用程序之前,首先通过确保Docker、Kubernetes或其他容器防火墙来保护容器的安全至关重要。有两种方式来实现容器防火墙:手动或通过...

4356

扫码关注云+社区