V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
seers
V2EX  ›  Kubernetes

请教一下 control plane 节点高可用的一些细节问题

  •  
  •   seers · 2022-10-29 00:12:23 +08:00 · 1138 次点击
    这是一个创建于 776 天前的主题,其中的信息可能已经有所发展或是发生改变。

    Stacked etcd topology 有两个问题
    1.在堆叠的 etcd 拓扑结构中,节点中的 etcd 只和本节点的 kube-apiserver 通信,这样如何保证三个节点数据一致性
    2.三个 control plane 节点是依靠领导选举( leader election )选出一位做主,其他备,还是三个节点一起服务
    3.如果是同时只有一个 control plane 节点工作,是如何把负载均衡到另外两个备节点的流量请求发送到主节点呢

    希望能有确切的文档能阅读,刚接触 k8s ,感谢~

    3 条回复    2022-11-02 16:51:57 +08:00
    swulling
        1
    swulling  
       2022-10-29 00:20:47 +08:00 via iPhone
    三个 etcd 节点是 join 成一个集群的,互相之间通过 raft 协议通信,从而做到分布式一致。

    controlplane 中 apiserver 是三个都提供服务因为本质就是 crud 。剩下两个组件都有选主机制,分别同时只有一个实例为主。这是因为不管是调度还是控制,都只能单实例运行。

    controlplane 三个组件的关系这个图其实不太准确,apiserver 访问 etcd 。其他所有组件只和 apiserver 通信。
    且只有 apiserver 承接流量。
    swulling
        2
    swulling  
       2022-10-29 00:21:54 +08:00 via iPhone
    看文档是看不出什么所以然的,建议实际部署一下。
    zhujq
        3
    zhujq  
       2022-11-02 16:51:56 +08:00
    问题 3:apiserver 无状态,可以 3 个一起接收请求。控制器只有一个在工作,其他的是 standby
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1740 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:18 · PVG 00:18 · LAX 08:18 · JFK 11:18
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.