k8s高可用集群部署介绍 -- 理论

embedded/2024/10/22 16:27:25/

部署官网参考文档
负载均衡参考
官网两种部署模式拓扑图和介绍

介绍两种高可用模式

  1. 堆叠
    拓扑图如下(图片来自k8s官网):
    在这里插入图片描述
    特点:将etcd数据库作为控制平台的一员,由于etcd的共识算法,所以集群最少为3个,kube-apiserver使用负载均衡器暴露给工作节点。

    优点: 相比与外部etcd部署模式,比较节省基础设施资源,将控制平面和 etcd 成员耦合在同一节点上。相对使用外部 etcd 集群, 设置起来更简单,而且更易于副本管理。
    缺点: 堆叠集群存在耦合失败的风险,如果一个节点发生故障,则 etcd 成员和控制平面实例都将丢失, 并且冗余会受到影响。你可以通过添加更多控制平面节点来降低此风险。

    这里说的“冗余会受到影响”,指的是etcd 集群的可允许失败的节点数为 n = n-1/2
    n代表节点,这就意味着,必须有3个etcd节点才能保证etcd高可用性。

2.外部etcd
拓扑图如下(图片来自k8s官网):
在这里插入图片描述
特点: 将etcd集群独立出去。每个etcd主机与每个控制平面节点的kube-apiserver通信,所有etcd数量等于k8s kube-apiserver服务器数量,kube-apiserver使用负载均衡器暴露给工作节点。

优点: 控制平面的宕机不会影响etcd集群,增加了etcd集群的HA,失去控制平面实例或者 etcd 成员的影响较小。

缺点: 由于每个etcd对应一个kube-apiserver,所以至少需要 3 台etcd主机和3台kube-apiserver服务器,对于基础资源消耗较多。


http://www.ppmy.cn/embedded/5383.html

相关文章

(2022级)成都工业学院数据库原理及应用实验五: SQL复杂查询

写在前面 1、基于2022级软件工程/计算机科学与技术实验指导书 2、成品仅提供参考 3、如果成品不满足你的要求,请寻求其他的途径 运行环境 window11家庭版 Navicat Premium 16 Mysql 8.0.36 实验要求 在实验三的基础上完成下列查询: 1、查询医生…

学习 Rust 的第四天:基本编程概念学习

嘿,大家好! 欢迎来到 Rust 学习的第四天,我参考的是 Steve Klabnik 的《Rust 编程语言》一书。昨天我们做了一个 [猜数字游戏](https://blog.csdn.net/Tory2/article/details/137764707?spm1001.2014.3001.5501),今天我们将深入…

基于SpringBoot的“商务安全邮箱”的设计与实现(源码+数据库+文档+PPT)

基于SpringBoot的“商务安全邮箱”的设计与实现(源码数据库文档PPT) 开发语言:Java 数据库:MySQL 技术:SpringBoot 工具:IDEA/Ecilpse、Navicat、Maven 系统展示 系统功能结构 收件箱效果图 草稿箱效果图 已发送…

AOP基础

一、AOP概述 AOP:Aspect Oriented Programming(面向切面编程、面向方面编程),其实就是面向特定方法编程。 使用场景:①记录操作日志;②权限控制;③事务管理等。 优势:①代码无侵入…

redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程

redis7 源码调试 服务端处理客户端./redis-cli连接 指令执行过程 ##redis-cli客户端发起 ./redis-cli 客户端连接 指令 ##redis网络请求 1、AE_READABLE事件 2、客户端fd 3、创建文件事件 4、添加客户端cfd读写事件 5、处理读事件AE_READABLE 6、回调函数处理连接请求 rea…

von Mises-Fisher Distribution (代码解析)

torch.distribution 中包含了很多概率分布的实现,本文首先通过均匀分布来说明 Distribution 的具体用法, 然后再解释 von Mises-Fisher 分布的实现, 其公式推导见 von Mises-Fisher Distribution. 1. torch.distribution.Distribution 以下是 Uniform 的源码: cl…

Flink 的 JDBC Table Source 支持分区扫描功能

Flink 的 JDBC Table Source 支持分区扫描功能,这可以加速并行任务实例中的数据读取。分区扫描允许 Flink 将数据表分割成多个部分(分区),每个任务可以独立地读取一个分区的数据。这样做可以提高数据处理的并行性和效率&#xff0…

Mac搭建Java环境【环境搭建】

Mac搭建Java环境【环境搭建】 1 安装Java SDK 官网地址:https://www.oracle.com/java/technologies/downloads/archive/ 下载dmg,双击之后无脑安装即可。 # 进入 JDK 安装目录 cd /Library/Java/JavaVirtualMachines# 查看文件 ls# 输入 cd ~# 打开环…