工作节点与主节点的关系?

时间:2019-04-15 14:39:05

标签: kubernetes high-availability workload

我正在设计具有HA和负载分配的解决方案。 我有一个问题,关于如何在辅助节点和主节点之间建立关系以支持HA(容错)和负载分配。

我的理解是,工作程序节点由主节点管理,这意味着在建立工作程序节点期间,我们使它加入主节点,以建立信任关系并与主节点链接。

现在,如果我要在主节点上为群集构建HA:

  • 我将定义3个主节点,每个主节点都有一个API服务器,并在它们前面有一个负载均衡器。
  • 构建外部具有3个节点的ETCD集群,并使主节点使用它们。
  • 3个主节点将分别具有一个调度程序。

转到工作节点:

  • 我通过使用VIP /负载平衡API服务器将工作节点加入主节点来启动工作节点。

所以我的问题是:

  • 在3个主节点上,我们应该有一个控制器吗?
  • 我们可以将工作程序节点链接到3个主节点吗?如果是,这样做有什么好处?使用负载均衡器/ VIP更好吗?在那种情况下,我们仍然可以限制5000个节点吗?还是最多可以有5000X3个工作节点?
  • 像在etcd中一样,我们是否可以拥有具有主动-被动功能的API服务器集群?即使我们可以在初始化阶段使用一组配置来做到这一点?

2 个答案:

答案 0 :(得分:0)

  

在3个主节点上,我们应该有一个控制器吗?

我不确定您在说什么控制器(Kubernetes控制器?kube-controller-manager?)。总之,所有主节点都将具有相同的Kubernetes组件:kube-apiserver,kube-scheduler,kube-controller-manager,kube-proxy,运行时等。

  

我们可以将工作程序节点链接到3个主节点吗?如果是,这样做有什么好处?使用负载均衡器/ VIP更好吗?在那种情况下,我们仍然可以限制5000个节点吗?还是最多可以有5000X3个工作节点?

如果您有3个主设置,一个处于活动状态(领导者),而其他处于待机状态,则配置的quorum只能为这些组件建立一个领导者,因此并不是可以扩展5000x3节点,因为您一直在与领导谈话,所以5000的限额仍然适用。

  

我们可以像在etcd中那样拥有一个具有主动-被动功能的API服务器集群吗?即使我们可以在初始化阶段使用一组配置来做到这一点?

这就是它的工作方式。在3个主设置中,有1个主动和2个被动,在5个主设置中,有1个主动和5个被动。

希望有帮助!

答案 1 :(得分:0)

是的,我正在谈论kube控制管理器。现在我知道它将以领导者从属模式运行,我的意思是kube控制管理器以及kube时间表。所以只有一个主人来领导那些人。

是的,我也在想,它的规模不会超过5000(主节点的限制)。

我不确定kube api服务器是否在领导者从属群集中运行,这就是为什么我认为我们需要在其上方放置一个解决方案以隐藏真正的api服务器ip或dns。

一位同事告诉我,我们可以在同一个工作节点上拥有多个api服务器,我自己没有尝试过,但是我真的怀疑它会起作用,我仍然相信像Ruote这样的DNS服务器的选择53或像nigix这样的代理服务器,或者像F5这样的硬件平衡器,应该是可能的选择,使工作人员可以与活动主服务器进行通信,而无需依赖它。