使用kubeadm安装Kubernetes 1.9

最早接触kubernetes已经是几年之前,一直觉得搭建和维护比较复杂,小团队大概用不到,就没有深入去研究和应用了。感觉今年kubernetes大放异彩,各种相关消息里都少不了,于是还是决定尝试一下。

由于天朝特殊的网络环境,没有梯子的话,没法像kubernetes官方文档里写的那样去访问各种“不存在的网址”搭建集群。所以,只能找各种国内源去绕开网络问题(同时大大加速)。

搭建环境:ubuntu 16.04 + kubeadm 1.9 + docker 17.09 (当下最新)

本以为kubernetes这么火了,各种套路肯定是一堆一堆的, 结果发现自己还是太年轻。网上好多都是基于centos的(感觉ubuntu是被嫌弃了么?),并且kubernetes版本不高。可能因为官方更新迅速,很多方式现在已经不适用了,最后只能自己踩坑。

简单来说:
我把安装过程写成了脚本,下载、改改、运行就可以了

git clone git@github.com:EagleChen/kubernetes_init.git
cd kubernetes_init
# 改一改文件!!!
sudo ./install.sh pre
sudo ./install.sh kubernetes

就可以了。网络稍微好点, 10多分钟就可以搞定(主要是安装工具和下载镜像)。

为了直观, 我直接写死了很多路径,需要根据自己的需求修改。 比如不要改动docker的存储路径, 就把install_docker函数中graph那行去掉。

对脚本以及一些坑的解释:

  1. 脚本主要是解决特殊网络环境方面的问题(源、registry镜像等),只安装master节点, 装node的话, 非常类似。
  2. 脚本并没有做什么风骚的操作,基本上就是照着官方的文档来(然后改变下载地址),所以对着官方文档运行脚本,是正确姿势!这点非常关键!
  3. docker源设置成了中科大的, 可以用其他的,非常多(清华源文档是错的,注意一下就行了)。kubernetes(这么新的) 我没找到其他好的源。repo里面的gpg文件对应的是kubernetes, 若不放心,可以(自行穿墙)从官方渠道下载。
  4. dockerregistry mirror,非常多地方可以获取到,我这里就不打广告了。需要自己申请了,设置在shell脚本里。
  5. shell脚本中,保留了对于之前版本的kubeadm init的设置方式,注释掉了。如果有特殊需求,需要用之前的版本,可以尝试一下(我是没试过,出错了我就没办法了)。
  6. 运行完脚本之后,其实还有蛮多后续操作,但基本不涉及网络方面的内容了。所以需要照着输出和文档来。
  7. 阿里云registry上有两组仓库google-containersgoogle_containers, 后者更新迅速一些,用!(但是为啥不是一个,这个鬼地方太坑人了)
  8. 很多之前的文章说cgroupfs需要保持同步, 可能kubernetes新版(1.9)改变了吧,我发现用不着改docker的配置了。

参考:
官方文档: https://kubernetes.io/docs/setup/independent/install-kubeadm/
参考安装脚本:https://github.com/kubeup/okdc

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Docker — 云时代的程序分发方式 要说最近一年云计算业界有什么大事件?Google Compute Engi...
    ahohoho阅读 15,697评论 15 147
  • 九月一到,就有了秋意。秋,不经意间悄悄的溜来,染红了树叶,染黄了田野。 秋是美丽的,秋的美丽在于它的成熟,他同春一...
    前沿前行阅读 3,885评论 0 1
  • 基本选择器 层次选择器 过滤选择器 基本过滤选择器 内容过滤选择器 可见性过滤选择器 属性过滤选择器 子元素过滤选...
    恍若如梦hzpeng阅读 1,423评论 0 0
  • 和同样的你走在同样的路上 我再也感觉不到身边的幸福 只是羡慕记忆里那对曾经的情侣 美好的画面一但定格在脑海里 瞬间...
    巴拉_巴拉拉阅读 3,258评论 0 0
  • jQuery学习笔记第八节/Jq的效果之自定义动画 1,自定义动画 前面我们学习的 show().hide().f...
    iplaycodex阅读 1,657评论 0 0