gpt4 book ai didi

kubernetes - 如何选择高可用性主机?

转载 作者:行者123 更新时间:2023-12-02 11:56:43 25 4
gpt4 key购买 nike

因此,我刚刚启动kubernetes,想知道是否创建了多个主节点,然后如何完成Pod的调度,如果主节点出现故障,与之连接的工作节点会如何处理?

最佳答案

How is High Availability Master selected?



下面的 etcd 数据库是大多数高可用性的来源。它使用 implementation中的 raft protocol达成共识。
etcd需要一定数量的 N/2 + 1实例,以便kubernetes能够将更新写入集群。如果可用空间少于1/2,则etcd将进入“只读”模式,这意味着无法计划任何新内容。

kube-apiserver 将以主动/主动模式在多个节点上运行。所有实例使用相同的etcd集群,因此呈现相同的数据。工作节点将需要某种方式将负载平衡/故障转移到可用的apiserver。故障转移需要Kubernetes之外的组件,例如HAProxy或负载平衡器设备(例如AWS提供的组件)。

kube-scheduler 将在多个主节点上运行,并且应访问kube-apiserver的本地实例。调度程序将选择一个领导者来锁定它管理的数据。当前领导者信息可以在端点中找到:
kubectl -n kube-system get endpoints kube-scheduler \
-o jsonpath='{.metadata.annotations.control-plane\.alpha\.kubernetes\.io/leader}'

kube-controller-manager 将在多个主节点上运行,并且应访问kube-apiserver的本地实例。 Controller 将选择一个领导者来锁定它管理的数据。领导者信息可以在端点中找到:
kubectl -n kube-system get endpoints kube-controller-manager \
-o jsonpath='{.metadata.annotations.control-plane\.alpha\.kubernetes\.io/leader}'

if the master goes down what happens to the worker nodes connected to it?



他们继续以当前状态运行。不会安排新的Pod,也不会推出对集群现有状态的任何更改。您的Pod将继续运行,直到它们以无法恢复本地kubelet的方式失败为止。

关于kubernetes - 如何选择高可用性主机?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57704381/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com