适用部署结构以及版本

本系列中涉及的部署方式和脚本适用于1.13.x和1.14,而且采取的是二进制程序部署方式。

脚本支持的部署模式

最小部署模式 3台主机,1台为k8s的master角色,其余2台为k8s的node角色,etcd以集群形式运行在3台上都部署(我在测试环境中使用的部署规模)

中等部署模式 6台主机,3台为k8s的master角色,其余3台为k8s的node角色,etcd以集群形式部署在3台master机器上

大型部署模式 9台主机,3台为k8s的master角色,3台为k8s的node角色,其余3台etcd以集群形式部署独立部署在单独的机器上

超大型部署 3+3+N台主机 3台为k8s的master角色 3台etcd以集群形式部署独立部署在单独的机器上 N台node角色

执行说明

  1. 所有主机配置免密登陆
  2. 操作系统版本保持一致(我的环境Centos 7.4)
  3. 网络设置保持一致,尤其是master和node角色主机相互通信的网卡名称要一致
  4. 所有脚本在任意一台master角色主机上执行
  5. 执行完1-system_initialization.sh脚本后,为了提高速度建议把所需要的安装包提前下载到/tmp/work_dir目录中无需解压
  6. 保证你下载的安装包版本和脚本中的一致,请提前查看每个组件的安装脚本
  7. 执行完5-installFlannel.sh之后建议把pod-infrastructure提前下载到本地镜像仓库中,这是k8s所需基础容器。否则后续因为下载很慢会导致你部署的POD失败。
  8. 在执行8-installAddons-CoreDNS.sh的时候建议先查看该脚本把里面所需要的镜像提前拉取下来,避免由于网络原因导致脚本执行出错
  9. 根据自己的环境修改environment.sh环境变量脚本
  10. 目前脚本还没有做如何加入现有集群的功能,所以如果一台主机要想加入现有k8s集群成为node角色需要手动部署
  11. 目前如果是多台master主机需要自行配置haproxy或者Nginx做代理
  12. 脚本中有大量注释其实就是为了说明语句或者参数或者这一步是做什么的,其目的也是为了便于理解和学习

kubernetes集群的master角色其实只需要安装kube-apiserver, kube-scheduler, kube-controller-manager;而Node角色只需要安装
kube-proxy、kubelet、docker、flannel组件;但是本版本的脚本中在Master角色上我们也安装了kube-proxy、kubelet、docker、flannel
这些组件这就变成Master主机其实也可提供Node角色的功能,但是为了避免非特殊说明的情况下POD被调度到Master主机上,我们在Master主机上
打了污点。之所以在Master上也安装那些组件主要是为了让Master可以访问service、POD的网络以及在需要的情况下在Master主机上运行POD。

其实部署脚本没有太多执行逻辑部署基本都是下载、解压、设置配置文件、拷贝、启动这些常规操作,另外安装kubernetes很多帖子都是kubeadm安装,这种方式的确安装方便,但是对于一些细节你将无法了解,所以为了理解这些组件通过二进制程序安装更合适。

关于bootstrap不太好理解,建议提前看看这篇文章:Kubernetes TLS bootstrapping 那点事

下图是我安装完成后的监控图

关于监控我会在另外一个文章中说明

代码下载

脚本代码从这里下载

Kubernetes集群部署史上最详细(一)Kubernetes集群安装的更多相关文章

  1. Kubernetes集群部署史上最详细(二)Prometheus监控Kubernetes集群

    使用Prometheus监控Kubernetes集群 监控方面Grafana采用YUM安装通过服务形式运行,部署在Master上,而Prometheus则通过POD运行,Grafana通过使用Prom ...

  2. 史上最详细“截图”搭建Hexo博客并部署到Github

    http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...

  3. 转 史上最详细的Hadoop环境搭建

    GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...

  4. 史上最详细“截图”搭建Hexo博客——For Windows

    http://angelen.me/2015/01/23/2015-01-23-%E5%8F%B2%E4%B8%8A%E6%9C%80%E8%AF%A6%E7%BB%86%E2%80%9C%E6%88 ...

  5. 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集

    你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931   GitHub 上有一个 Awesome - XXX 系列 ...

  6. 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用

    史上最详细Windows版本搭建安装React Native环境配置   2016/01/29 |  React Native技术文章 |  Sky丶清|  95条评论 |  33530 views ...

  7. 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2

    史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...

  8. 史上最详细的C语言和Python的插入排序算法

    史上最详细的C语言和Python的插入排序算法插入排序原理:所谓插入排序,就像我们在打牌(斗地主)时,整理我们自己手中自己的牌一样,就像是2,1,3,9,J,K,5,4,这四张牌.我们要把它其中的几张 ...

  9. 史上最详细的XGBoost实战

    史上最详细的XGBoost实战 0. 环境介绍 Python 版 本: 3.6.2 操作系统 : Windows 集成开发环境: PyCharm 1. 安装Python环境 安装Python 首先,我 ...

随机推荐

  1. css那些事(一)

    一.内边框padding和外边框margin属性缩写 内外边框有四个属性:padding-top,padding-right,padding-bottom,padding-left;margin-to ...

  2. 小隐隐于野:基于TCP反射DDoS攻击分析

    欢迎大家前往腾讯云+社区,获取更多腾讯海量技术实践干货哦~ 作者:腾讯DDoS安全专家.腾讯云游戏安全专家 陈国 0x00 引言 近期,腾讯云防护了一次针对云上某游戏业务的混合DDoS攻击.攻击持续了 ...

  3. facenet 进行人脸识别测试

    1.简介:facenet 是基于 TensorFlow 的人脸识别开源库,有兴趣的同学可以扒扒源代码:https://github.com/davidsandberg/facenet 2.安装和配置 ...

  4. mysql workbench EER图,里面的实线以及虚线的关系

    ERWin里面线代表实体间的三种关系:决定关系(Identifying Relationship),非决定关系(None-Identifying Relationship),多对多(Many-To-M ...

  5. Atlas的优缺点及测试结论

    优点 1,实现了读写分离(并通过hint/*master*/可强制走主库,并且加入了权重配置可进行读的负载均衡 2,自身维护了一套连接池,减少了创建连接带来的性能消耗 3,支持DB动态上下线,方便横向 ...

  6. 数码相框(LCD、I2C)

    一:项目介绍    该项目最终实现的功能很简单,手指在触摸屏左滑(下一张图片),右滑(上一张图片)    1.1软硬件资源    硬件:pc机,ARM Cortex-A9开发板    软件:linux ...

  7. SpringBoot操作数据库 2017.12.14

    http://blog.csdn.net/forezp/article/details/61472783

  8. FPGA学习笔记(一)——初识FPGA

    ###### [该随笔部分内容转载自小梅哥]       ######### FPGA(Field-Programmable Gate Array,现场可编程门阵列),正如其名,FPGA内部有大量的可 ...

  9. zookeeper 配置文件conf目录下 zoo文件 配置详解

    clientPort:客户端尝试连接server的端口号 (对外服务端口) 通常为2181 dataDir:存放快照文件snapshot的目录.(储存数据的目录) dataLogDir:事务日志存放位 ...

  10. WinForm时间选择控件(DateTimePicker)如何选择(显示)时分秒

    C# Windows窗体应用中,用到时间选择控件DateTimePicker,发现不能选择时分秒,难道要自己写一个控件?! 答案是否定的,通过属性修改是可以选择时间的,DateTimePicker完全 ...