|
本文档采用自动化机器翻译技术翻译。 尽管我们力求提供准确的译文,但不对翻译内容的完整性、准确性或可靠性作出任何保证。 若出现任何内容不一致情况,请以原始 英文 版本为准,且原始英文版本为权威文本。 |
推荐的集群架构
可以分配给节点的角色有三种:etcd、controlplane 和 worker。
将工作节点与其他角色的节点分开
在设计集群时,您有两种选择:
-
为每个角色使用专用节点。这确保了所需角色组件的资源可用性。它还根据 端口要求 严格隔离各角色之间的网络流量。
-
将
etcd和controlplane角色分配给相同的节点。这些节点必须满足两个角色的硬件要求。
在任何情况下,worker 角色不应被用于或添加到具有 etcd 或 controlplane 角色的节点上。
因此,每个节点应具有以下角色配置之一:
-
etcd -
controlplane -
同时具有
etcd和controlplane -
worker
每个角色的推荐节点数量
集群应具有:
-
至少三个具有
etcd角色的节点,以便在失去一个节点时仍能存活。增加此数量以提高节点容错,并将它们分布在(可用性)区域,以提供更好的容错。 -
至少两个具有
controlplane角色的节点,以确保主组件的高可用性。 -
至少两个具有
worker角色的节点,以便在节点故障时进行工作负载的重新调度。
有关每个角色的用途的更多信息,请参阅Kubernetes中节点的角色部分。
etcd节点数量
在保持集群可用性的情况下,您可以同时失去的节点数量由分配了`etcd`角色的节点数量决定。对于具有n个成员的集群,最小值为(n/2)+1。因此,我们建议在一个区域内的3个不同可用区创建一个`etcd`节点,以应对一个可用区的损失。如果您只使用两个可用区,您只能在不失去大多数节点的可用区中生存。
| 具有`etcd`角色的节点 | 多数 | 容错 |
|---|---|---|
1 |
1 |
0 |
2 |
2 |
0 |
3 |
2 |
1 |
4 |
3 |
1 |
5 |
3 |
2 |
6 |
4 |
2 |
7 |
4 |
3 |
8 |
5 |
3 |
9 |
5 |
4 |
参考:
为什么Rancher集群和运行您应用程序的集群的生产要求不同
您可能已经注意到我们的Kubernetes安装说明不符合我们对可用于生产用途集群的定义,因为没有专用节点用于`worker`角色。然而,对于您的Rancher安装,这个三节点集群是有效的,因为:
-
它允许一个`etcd`节点故障。
-
通过拥有多个`controlplane`节点,它维护主组件的多个实例。
-
在这个集群上不应创建除Rancher本身之外的其他工作负载。