Cloud 使用kubernetes自动缩放

Cloud 使用kubernetes自动缩放,cloud,kubernetes,scalability,iot,Cloud,Kubernetes,Scalability,Iot,目标 一个具有潜在数千台设备的可扩展/弹性物联网平台。 我们正在使用kubernetes部署此链: kafka --> logstash --> elasticsearch 选择1 我们从静态配置开始,随着需求的增长手动扩展。 优点:简单实用。 缺点:需要人为干预。 选择2 我们构建了一个监控不同组件的软件,并在需求增长时自动扩展。 优点:不需要人为干预。 缺点:复杂。 这很复杂,因为出现了太多的情况,例如: 卡夫卡:只需添加一个新的代理就可以分配负载,我们必须为一组主题创建一个

目标
一个具有潜在数千台设备的可扩展/弹性物联网平台。 我们正在使用kubernetes部署此链:

kafka --> logstash --> elasticsearch
选择1 我们从静态配置开始,随着需求的增长手动扩展。
优点:简单实用。
缺点:需要人为干预。

选择2 我们构建了一个监控不同组件的软件,并在需求增长时自动扩展。
优点:不需要人为干预。
缺点:复杂。

这很复杂,因为出现了太多的情况,例如:

  • 卡夫卡:只需添加一个新的代理就可以分配负载,我们必须为一组主题创建一个新分区,或者我们首先创建足够的分区,然后重新分配分区
  • Elasticsearch:如果我们想要分配读取负载,我们必须添加一个数据节点,增加副本的数量。如果我们想要分配写负载,我们必须使用分片。数据被分割成碎片,创建索引后碎片的数量无法更改,我们可以通过使用别名绕过此限制。


自动缩放还涉及与云提供商的交互,以自动添加资源。

这种问题通常被认为在堆栈溢出方面“过于宽泛”。但我不确定为什么你会考虑选择2,直到它是一个问题。当库伯内特斯成为一个问题时,你为什么不简单地开始实际的缩放和/或寻找一个自动缩放的解决方案呢?Kubernetes已经提供了简单的组件(部署和守护程序)来帮助扩展应用程序。我设想将来会有其他软件组件来帮助自动扩展计算资源。所以,您可能没有太多的理由去做选择2。这类问题通常被认为在堆栈溢出上“过于宽泛”。但我不确定为什么你会考虑选择2,直到它是一个问题。当库伯内特斯成为一个问题时,你为什么不简单地开始实际的缩放和/或寻找一个自动缩放的解决方案呢?Kubernetes已经提供了简单的组件(部署和守护程序)来帮助扩展应用程序。我设想将来会有其他软件组件来帮助自动扩展计算资源。所以,你可能没有太多的理由去做选择2。