You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

K8s集群中etcd集群的数据读写与同步机制解析

K8s高可用集群中etcd读写机制的疑问

背景

我在K8s官方文档中了解到,构建高可用K8s集群需要搭建etcd集群。根据官方文档所述:每个控制平面节点会创建一个本地etcd成员,该etcd成员仅与本节点的kube-apiserver通信,本地的kube-controller-manager和kube-scheduler实例也是如此。

疑问点

  • 按照上述描述,kube-apiserver仅与自身节点的etcd通信,是否可以理解为读写操作都在同一节点的etcd上完成?
  • 我学习etcd时了解到,etcd集群的客户端通过Follower读取数据,通过Leader写入数据。但通过etcdctl命令查看集群状态时,集群中只有一个Leader:
┌──[root@vms100.liruilongs.github.io]-[~/ansible/kubescape]
└─$ETCDCTL_API=3 etcdctl  --endpoints https://127.0.0.1:2379  --cert="/etc/kubernetes/pki/etcd/server.crt"  --key="/etc/kubernetes/pki/etcd/server.key"  --cacert="/etc/kubernetes/pki/etcd/ca.crt" endpoint status --cluster  -w table
+-----------------------------+------------------+---------+---------+-----------+-----------+------------+
|          ENDPOINT           |        ID        | VERSION | DB SIZE | IS LEADER | RAFT TERM | RAFT INDEX |
+-----------------------------+------------------+---------+---------+-----------+-----------+------------+
| https://192.168.26.100:2379 |  ee392e5273e89e2 |   3.5.4 |   37 MB |     false |       100 |    3152364 |
| https://192.168.26.102:2379 | 11486647d7f3a17b |   3.5.4 |   36 MB |     false |       100 |    3152364 |
| https://192.168.26.101:2379 | e00e3877df8f76f4 |   3.5.4 |   36 MB |      true |       100 |    3152364 |
+-----------------------------+------------------+---------+---------+-----------+-----------+------------+
┌──[root@vms100.liruilongs.github.io]-[~/ansible/kubescape]
└─$
  • 既然集群只有一个Leader,etcd的读写分离机制是否适用于K8s?这和官方文档的描述是否存在矛盾?想明确K8s集群中etcd具体的读写机制。

我对etcd了解甚少,希望能得到解惑!


内容的提问来源于stack exchange,提问作者liruilong

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.01 13:17:32