当前位置: 首页 > news >正文

K8s高可用:Master与候选节点核心解析

在 Kubernetes 集群中,Master 节点(控制平面节点)候选 Master 节点(Candidate Master) 是高可用(HA)架构中的关键角色,它们的核心区别在于 当前是否承担实际控制职责


1. Master 节点(Active Master)

  • 角色:当前激活的控制平面节点,实际处理集群管理任务
  • 职责
    • 运行核心组件:kube-apiserver(集群入口)、kube-scheduler(调度 Pod)、kube-controller-manager(控制器循环)、etcd(存储集群状态)。
    • 响应所有用户和管理请求(如 kubectl 命令)。
    • 监控节点状态,调度 Pod,维护集群状态一致性。
  • 状态:唯一活跃的领导者(Leader),其他节点处于备用状态(高可用架构中通常只有 一个 Active Master)。

2. 候选 Master 节点(Standby/Candidate Master)

  • 角色:高可用集群中的备用节点,处于待命状态,不处理实际请求(除非主节点故障)。
  • 职责
    • 持续同步集群状态(从 Leader 的 etcd 复制数据)。
    • 运行相同的控制平面组件(API Server、Scheduler 等),但处于“待机模式”。
    • 监控 Active Master 的健康状态(通过选举机制如 kube-controller-manager 的领导者选举或 etcd 的 Raft 算法)。
  • 故障切换:当 Active Master 宕机时,备用节点通过选举机制 自动晋升为新的 Active Master,实现无缝切换。

关键区别总结

特性Master 节点 (Active)候选 Master 节点 (Standby)
当前角色领导者(Leader)跟随者(Follower)
处理请求✅ 响应所有集群请求❌ 仅同步数据,不响应请求
组件运行状态所有组件处于活跃状态组件运行但处于待机模式
数据写入权限✅ 唯一可写入 etcd 的节点❌ 只能从 Leader 同步 etcd 数据
高可用切换故障时降级故障时晋升为 Active Master

如何实现高可用?

  1. 选举机制
    • etcd 使用 Raft 算法 选举 Leader(存储层高可用)。
    • Kubernetes 控制平面组件(如 kube-controller-manager)通过 Lease API 实现领导者选举。
  2. 负载均衡
    用户请求通过 负载均衡器(如 HAProxy、Nginx) 定向到 Active Master 的 kube-apiserver。当主节点切换时,负载均衡器自动检测新主节点。
  3. 最少节点数
    通常需要 至少 3 个 Master 节点 以容忍单节点故障(满足 Raft 算法的多数派要求)。

示例架构(3 节点高可用集群)

请求
健康检查
健康检查
同步 etcd 数据
同步 etcd 数据
负载均衡器
Active Master
候选 Master 1
候选 Master 2

💡 注意:术语 “候选 Master” 并非 Kubernetes 官方命名,实际场景中通常直接称为 Master 节点,通过其角色(Active/Standby)区分状态。

总结

  • Active Master:集群的“大脑”,实时处理任务。
  • 候选 Master:热备节点,随时准备接管以避免单点故障。
    两者协同工作,确保 Kubernetes 控制平面持续可用。
http://www.xdnf.cn/news/1365319.html

相关文章:

  • 基于MalConv的恶意软件检测系统设计与实现
  • 力扣(用队列实现栈)
  • SSH 反向隧道:快速解决服务器网络限制
  • 蜗牛播放器 Android TV:解决大屏观影痛点的利器
  • 【科研绘图系列】R语言绘制代谢物与临床表型相关性的森林图
  • 从0死磕全栈第1天:从写一个React的hello world开始
  • leetcode 238 除自身以外数组的乘积
  • PHP学习笔记1
  • 基于MATLAB实现支持向量机(SVM)进行预测备
  • 数据结构青铜到王者第三话---ArrayList与顺序表(1)
  • 【数学·三角函数】两角和差公式 二倍角公式
  • idea官网选择具体版本的下载步骤
  • easy-dataset的安装
  • 【STM32】G030单片机的独立看门狗
  • 不止效率工具:AI 在文化创作中如何重构 “灵感逻辑”?
  • 《拉康精神分析学中的欲望辩证法:能指的拓扑学与主体的解构性重构》
  • 【科研绘图系列】R语言浮游植物生态数据的统计与可视化
  • [系统架构设计师]专业英语(二十二)
  • 系统架构设计师-计算机系统存储管理-页式、段氏、段页式模拟题
  • 探索量子计算的新前沿
  • 【Linux】timerfd和POSIX定时器(timer_create)
  • ASW3642 pin√pin替代TS3DV642方案,可使用原小板只需简单调整外围|ASW3642 HDMI二切一双向切换器方案
  • prepare_model_for_kbit_training()函数解析(56)
  • 解决getLocation获取当前的地理位置,报错:getLocation:fail auth deny及方法封装
  • 抖音多账号运营新范式:巨推AI如何解锁流量矩阵的商业密码
  • Unity中的特殊文件夹
  • Day60 Java面向对象15 abstract关键字详解
  • 物流架构实践:ZKmall开源商城物流接口对接与状态同步
  • 配置单区域 OSPF
  • 基于SpringBoot的招聘管理系统【2026最新】