二、搭建Kubernetes集群---2.1 搭建Kubernetes环境平台规划和部署方式介绍

news/2025/2/1 14:07:24/

二、搭建Kubernetes集群

2.1 搭建Kubernetes环境平台规划和部署方式介绍

2.1.1 搭建Kubernetes环境平台规划

如何安排Master、node。我们已经知道Kubernetes架构的组件共有两大部分,Master和node,因此这里的搭建我们可以分为两个部分,单Master集群、多Master集群。

1. 单Master集群

如图
单Master

我们有很多个node节点,只有一个Master节点,在node和Master中有其相关的组件,比如node中有kubelet、kube-proxy,Master中有API server、scheduler、Controller-manager等组件。在整个集群中通过一个Master节点管理所有的node节点。这种方式的缺点很明显,如果管理者Master挂掉后就无法管理node节点,因此在实际的工作中我们经常做的是多Master集群。

2. 多Master集群

如图

多Master

就是在单Master的基础之上将Master变成多台。我们又多个node节点,内部有其相关的kubelet、kube-proxy等组件。但有多个Master,多Master通过nodebalance负载均衡进行管理。通过负载均衡到不同的Master中去,node节点也通过负载均衡完成各自的任务。多Master应用场景中也被成为高可用集群,比如Master1挂掉了,Master2、3还能继续提供服务。

2.1.2 搭建Kubernetes服务器硬件配置要求

测试环境下

  1. Master节点要求2核CPU,内存4G、硬盘20G。
  2. node节点,Master主要从事管理工作,node则是工作节点是做具体事情的,在测试环境中node至少要是4核CPU,内存8G、硬盘40G以上。

生产环境下,生产环境下对于配置会有更高的要求。

  1. Master至少是8核CPU,16G内存,硬盘100G
  2. node节点至少是16核CPU、64G内存,硬盘500G等

2.1.3 搭建Kubernetes集群部署方式

目前生产部署Kubernetes集群主要有两种方式:

1. kubeadm

kubeadm是一个Kubernetes部署工具,这种方式很简单,只需要两个命令即kubeadm init(直接初始化)和kubeadm join(把node节点加到Master中去),用于快速部署Kubernetes集群。这种方式的好处在于可以用很短时间把我们的Kubernetes集群快速部署出来。很多事情他已经开展,不需要我们自己做额外的处理。

2. 二进制包

这种方式相对比较麻烦,因为他需要你手动下载很多的安装包,手动部署每个组件,比如node中的那些组件,Master中的那些组件,都需要独立手动部署。这种部署方式过程比较麻烦,但好处在于一旦集群出现问题很快就能找到哪个部分出现了问题。虽然部署麻烦但是我们可以从中知道每一步是如何做到的,有利于后期的维护。

从githup下载发型版的二进制包,手动部署每个组件,组成Kubernetes集群。

kubeadm降低了部署门槛,但屏蔽了很多细节,遇到问题很难排查。如果想更容易可控,推荐使用二进制包部署Kubernetes集群,虽然手动部署麻烦,但可以学习很多工作原理,也利于后期维护。


http://www.ppmy.cn/news/70069.html

相关文章

免费好用的数据可视化软件工具

如果你正在找数据可视化软件工具,或者你正想尝试新的可视化软件,那么接下来的内容一定要认真看。 通过对行业的了解及广泛的研究,小编整理了一份业内绝对最好的且免费的数据可视化工具列表,重点是免费。 D3.js JavaScript 库&a…

深入了解 Transformers – Part 1: 介绍 Transformer 模型

动动发财的小手,点个赞吧! 自从最新的Large Language Models(LLaM)发布以来,如OpenAI的GPT系列、开源模型Bloom或谷歌发布的LaMDA等,Transformer展现出了巨大的潜力,成为了深度学习的前沿架构楷…

【MATLAB数据处理实用案例详解(21)】——利用SOM自组织映射网络实现癌症样本数据分类和利用SOM自组织映射网络实现柴油机故障分类详解

目录 一、SOM原理分析二、SOM拓扑结构分析三、三种SOM拓扑结构3.1 Gridtop()网格拓扑结构3.2 Hextop()六角形拓扑结构3.3 Randtop()随机拓扑结构 四、利用SOM自组织映射网络实现癌症样本数据分类4.1 问题描述4.2 输入数据4.3 网络建立和训练4.4 验证4.5 预测4.6 运行结果 五、利…

Java对象创建和内存分配

Java对象创建流程如下步骤 判断是否加载类 当Java虚拟机执行一条new指令时,首先会检查这个指令的参数是否能在常量池中定位到类的符号引用,并且检查该类是否被加载、验证、准备、解析和初始化过。如果没有则执行加载过程。 给对象分配内存 对象所需的大…

第二天运行项目 报错 import fitz not module named ‘frontend’

大冤种前来报到,第二天到公司运行Flask项目要测试接口,结果,报错了 import fitz not module named ‘frontend’ 明明昨天没有的,哦莫 有些小伙伴发帖都是没有安装 PyMuPDF 模块,但其实,我是安装了的 于是…

回归预测 | MATLAB实现基于贝叶斯线性回归(Bayesian Regression)的多变量输入回归预测

回归预测 | MATLAB实现基于贝叶斯线性回归(Bayesian Regression)的多变量输入回归预测 目录 回归预测 | MATLAB实现基于贝叶斯线性回归(Bayesian Regression)的多变量输入回归预测预测效果基本介绍模型描述程序设计参考资料预测效果 基本介绍 Matlab实现基于贝叶斯线性回归(Bay…

Keil 手动添加自己的lib库

我是在做一个项目看蓝牙模块官方Demo程序时发现对库的使用, 库大家都知道是不需要编译的,而且别人是无法看到源代码的,这样的好处就是编译快,并且方便移植,更安全。 我的制作步骤如下: 1、首先要把整个工程…

Spring Cloud(Kilburn 2022.0.2版本)系列教程(一) 服务注册与发现(eureka)

Spring Cloud(Kilburn 2022.0.2版本)系列教程(一) 服务注册与发现(eureka) 为了更好的浏览体验,欢迎光顾勤奋的凯尔森同学个人博客http://www.huerpu.cc:7000 小景哥哥是一个追求完美的人,所以纵观各位大神的SpringCloud教程,发现版本都比较低,所以出于对新技术的追求,特出…