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

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

介绍两种高可用模式

  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服务器,对于基础资源消耗较多。

相关推荐
虎头金猫5 天前
4K 视频总卡在公网带宽?用 N1 + OpenList 把网盘播放链路重新理顺
运维·服务器·网络·python·容器·beautifulsoup·pandas
分布式存储与RustFS5 天前
MinIO 官方 Docker 镜像被移除:依赖它的项目该怎么办
docker·云原生·devops·对象存储·minio·分布式存储
codeejun5 天前
每日一Go·MySQL-5、锁机制全解析
云原生·golang
赵文宇(温玉)5 天前
CoreDNS的hosts插件的缺行配置导致k8s集群异常
容器·kubernetes·rancher
guo_wen_qiang5 天前
上传本地镜像到harbor中
docker·容器·持续部署
张洛闻Eren5 天前
k8s云原生【第十课】:水平 Pod 自动扩缩容
运维·数据库·云原生·kubernetes·github
忆~遂愿5 天前
本地片库怎么在外面打开?Plex + cpolar 搭一套可远程访问的私人影音库
docker·容器
Thneonl5 天前
你的 Pod 为什么 Pending:调度器两阶段
后端·kubernetes
不吃香菜kkk、5 天前
CI/CD(GitOps)学习与部署手册
运维·云原生·容器·kubernetes·云计算·jenkins·argocd
ChaITSimpleLove5 天前
云原生性能对决:JDK21虚拟线程+GraalVM vs .NET10/11 技术栈深度对比
微服务·云原生·serverless·graalvm native·native aot·runtime async·.net11/java21