Kubernetes集群部署史上最详细(一)Kubernetes集群安装
适用部署结构以及版本
本系列中涉及的部署方式和脚本适用于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角色
执行说明
- 所有主机配置免密登陆
- 操作系统版本保持一致(我的环境Centos 7.4)
- 网络设置保持一致,尤其是master和node角色主机相互通信的网卡名称要一致
- 所有脚本在任意一台master角色主机上执行
- 执行完1-system_initialization.sh脚本后,为了提高速度建议把所需要的安装包提前下载到/tmp/work_dir目录中无需解压
- 保证你下载的安装包版本和脚本中的一致,请提前查看每个组件的安装脚本
- 执行完5-installFlannel.sh之后建议把pod-infrastructure提前下载到本地镜像仓库中,这是k8s所需基础容器。否则后续因为下载很慢会导致你部署的POD失败。
- 在执行8-installAddons-CoreDNS.sh的时候建议先查看该脚本把里面所需要的镜像提前拉取下来,避免由于网络原因导致脚本执行出错
- 根据自己的环境修改environment.sh环境变量脚本
- 目前脚本还没有做如何加入现有集群的功能,所以如果一台主机要想加入现有k8s集群成为node角色需要手动部署
- 目前如果是多台master主机需要自行配置haproxy或者Nginx做代理
- 脚本中有大量注释其实就是为了说明语句或者参数或者这一步是做什么的,其目的也是为了便于理解和学习
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集群安装的更多相关文章
- Kubernetes集群部署史上最详细(二)Prometheus监控Kubernetes集群
使用Prometheus监控Kubernetes集群 监控方面Grafana采用YUM安装通过服务形式运行,部署在Master上,而Prometheus则通过POD运行,Grafana通过使用Prom ...
- 史上最详细“截图”搭建Hexo博客并部署到Github
http://jingyan.baidu.com/article/d8072ac47aca0fec95cefd2d.html 大家也搭建过博客,很多时候,按着教程来做就可以了,但是我当时为了搭建Hex ...
- 转 史上最详细的Hadoop环境搭建
GitChat 作者:鸣宇淳 原文:史上最详细的Hadoop环境搭建 关注公众号:GitChat 技术杂谈,一本正经的讲技术 [不要错过文末活动哦] 前言 Hadoop在大数据技术体系中的地位至关重要 ...
- 史上最详细“截图”搭建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 ...
- 你想找的Python资料这里全都有!没有你找不到!史上最全资料合集
你想找的Python资料这里全都有!没有你找不到!史上最全资料合集 2017年11月15日 13:48:53 技术小百科 阅读数:1931 GitHub 上有一个 Awesome - XXX 系列 ...
- 史上最详细Windows版本搭建安装React Native环境配置 转载,比官网的靠谱亲测可用
史上最详细Windows版本搭建安装React Native环境配置 2016/01/29 | React Native技术文章 | Sky丶清| 95条评论 | 33530 views ...
- 测试思想-测试设计 史上最详细测试用例设计实践总结 Part2
史上最详细测试用例设计实践总结 by:授客 QQ:1033553122 -------------------------接 Part1-------------------------- 方法:这里 ...
- 史上最详细的C语言和Python的插入排序算法
史上最详细的C语言和Python的插入排序算法插入排序原理:所谓插入排序,就像我们在打牌(斗地主)时,整理我们自己手中自己的牌一样,就像是2,1,3,9,J,K,5,4,这四张牌.我们要把它其中的几张 ...
- 史上最详细的XGBoost实战
史上最详细的XGBoost实战 0. 环境介绍 Python 版 本: 3.6.2 操作系统 : Windows 集成开发环境: PyCharm 1. 安装Python环境 安装Python 首先,我 ...
随机推荐
- SOFA 源码分析 — 自动故障剔除
前言 集群中通常一个服务有多个服务提供者.其中部分服务提供者可能由于网络,配置,长时间 fullgc ,线程池满,硬件故障等导致长连接还存活但是程序已经无法正常响应.单机故障剔除功能会将这部分异常的服 ...
- Android自动化框架介绍
随着Android应用得越来越广,越来越多的公司推出了自己移动应用测试平台.例如,百度的MTC.东软易测云.Testin云测试平台…….由于自己所在项目组就是做终端测试工具的,故抽空了解了下几种常见的 ...
- Python3实现ICMP远控后门(中)之“嗅探”黑科技
ICMP后门 前言 第一篇:Python3实现ICMP远控后门(上) 第二篇:Python3实现ICMP远控后门(上)_补充篇 在上两篇文章中,详细讲解了ICMP协议,同时实现了一个具备完整功能的pi ...
- python 面向对象进阶之元类metaclass
一:知识储备 exec exec:三个参数 参数一:字符串形式的命令 参数二:全局作用域(字典形式),如果不指定,默认为globals() 参数三:局部作用域(字典形式),如果不指定,默认为local ...
- 转 Web用户的身份验证及WebApi权限验证流程的设计和实现
前言:Web 用户的身份验证,及页面操作权限验证是B/S系统的基础功能,一个功能复杂的业务应用系统,通过角色授权来控制用户访问,本文通过Form认证,Mvc的Controller基类及Action的权 ...
- 谈论seo思维性对优化中起到决定性的作用
在<SEO的艺术>又出版之后,SEO艺术更加受到了广大SEOer的关注和热捧,在这本书里面,也有很多的不为人知的技巧分享.SEO的艺术强调的是SEO融入网络营销,融入社会化媒体大潮,然而这 ...
- PAT1036:Boys vs Girls
1036. Boys vs Girls (25) 时间限制 400 ms 内存限制 65536 kB 代码长度限制 16000 B 判题程序 Standard 作者 CHEN, Yue This ti ...
- 监督学习——K邻近算法及数字识别实践
1. KNN 算法 K-近邻(k-Nearest Neighbor,KNN)是分类算法,是一个理论上比较成熟的方法,也是最简单的机器学习算法之一.该方法的思路是:如果一个样本在特征空间中的k个最相似( ...
- OAuth 2 Developers Guide
Introduction This is the user guide for the support for OAuth 2.0. For OAuth 1.0, everything is diff ...
- 配置服务器nginx 教程
https://www.cnblogs.com/wangzhongqiu/p/6527346.html