我想知道主节点何时想要连接etcd集群,哪个etcd节点会被选中?主节点是否总是连接相同的etcd节点,直到它变得不可用?主集群中的每个节点都会连接到同一个节点吗?在etcd集群中的节点?
答案 0 :(得分:2)
调度程序和控制器管理器与同一节点上存在的API服务器进行通信。在HA设置中,您一次只能运行其中一个(基于租约),而当前活动的任何人都将与本地API服务器通信。如果由于某种原因它无法连接到本地API服务器,它不会续订租约,另一个领导者将被选举。
如上所述,在任何给定时刻,只有一个API服务器将成为领导者,因此这是唯一需要担心到达etcd群集的地方。对于etcd集群本身,当你配置kubernetes API服务器时,你传递etcd-servers
标志,这是一个etcd节点的列表,如:
--etcd-servers=https://10.240.0.10:2379,https://10.240.0.11:2379,https://10.240.0.12:2379
然后通过Go etcd/client library,查看它的README状态:
如果首选端点无法正常运行,则etcd / client会在其他可用端点上执行循环轮换。例如,如果etcd / client连接的成员被强制终止,则etcd / client将在第一次尝试使用被杀死的成员时失败,并在第二次尝试时成功使用另一个成员。如果它无法与所有可用端点通信,它将返回发生的所有错误。
这意味着它将尝试每个可用节点,直到它成功连接到一个节点。