Kubernetes - 主资源是否必须以与工作节点资源相同的方式扩展?

时间:2017-12-01 18:04:03

标签: performance kubernetes cloud

假设您正在运行具有3个节点的Kubernetes群集。

  • 1大师
  • 2名工人

主服务器仅将pod设置为工作节点,而不是默认设置为自身。例如。我有2个工作节点与Xeon E5-1650 v3和256GB RAM,我在我的集​​群上运行少量的pod(比如最多20个)。有什么理由我应该以与工作节点相同的方式在资源方面扩展我的主节点,还是我可以只为我的主人使用经济型机器?

1 个答案:

答案 0 :(得分:3)

首先,让我们谈谈主节点中的组件。我把它们分成以下部分。

有状态

  • Etcd:它是集群中的真相来源。

无国籍

  • Kube-ApiServer:它是Stateful(etcd)
  • 的前端

其他

  • Kube-Controller-Manager:如果需要,状态===当前状态

  • Kube-Scheduler:获取pod的精确节点

  • Kubelet

  • 库贝-代理

添加增强模块

  • 库贝-DNS
  • Kubernetes-仪表板

所有这些组件都确保工作节点具有所需的群集状态,否则它们将确保当前状态=所需状态

现在所有最终用户都会请求您的应用程序(业务逻辑)  这是一个Pod或一堆Pod,因此我们需要确保它们根据资源利用率(CPU,RAM,网络等)水平扩展。

主节点因此没有这个责任,我们不担心资源利用(尽管如此,它需要有足够的资源才能生存)。但是,我们需要确保它高度可用因此,没有单点故障来协调工作节点。为了使集群更能抵抗故障,我们需要创建其他etcd节点或etcd集群。

Tldr

工作人员节点:我们担心水平可扩展性。

主节点:我们担心高可用性

我已附上进一步研究的链接 Kubernetes-Components