【问题标题】:What are the resource requirements to run Logstash in a k8s pod?在 k8s pod 中运行 Logstash 需要哪些资源?
【发布时间】:2020-10-25 06:49:38
【问题描述】:

我注意到在运行 Kubernetes 集群的 Raspberry Pi 上运行 ELK 堆栈。我注意到它没有运行所有三个容器的资源。我正在查找使用 Kubernetes 可以对资源 CPU 和内存设置限制和请求,这让我开始思考。最低要求是什么?对我来说,应用程序是贪婪的,那么有没有办法减少对 Logstash 的要求,以强调 Elasticsearch 的资源?

现在,我正在运行 Raspberry Pi 4、4g RAM、32G 磁盘。

如果我可以对容器设置最小和最大要求,它将更好地让我管理资源。我注意到的想法是,我无法了解不同容器的最低要求。

https://www.elastic.co/guide/en/cloud-on-k8s/current/k8s-managing-compute-resources.html

我相信上面的链接告诉我 CPU 消耗是贪婪的,但 Elastic 和 Kibana 的默认内存分别为 2Gi 和 1Gi。但是它没有提到logstash,以及是否有对CPU的最低要求。

我不确定是否应该将每个 ELK 容器设置为 1CPU、1Gi RAM,我可以尝试看看它是否正常工作,但由于它的节流概念让我很好奇快乐的媒介是什么。

【问题讨论】:

    标签: elasticsearch kubernetes logstash


    【解决方案1】:

    Logstash 不是 Elastic Cloud 的一部分,这就是您共享的 Elastic Cloud on Kubernetes 文档链接中没有提及它的原因。

    Logstash 对 CPU 的限制比对内存的限制更多,但它需要多少内存完全取决于您的管道。

    在 Logstash 中,内存取决于管道、批处理大小、使用的过滤器、每秒事件数、队列类型等。如果您正在运行开发或实验室环境,我认为您可以尝试使用 Logstash 1 个 CPU 和 512 MB 的 RAM,看看它是否适合您的用例。

    但我会说 4GB 对于完整堆栈来说非常小,因为您需要为应用程序提供内存并且仍然为系统保留一些内存。

    【讨论】:

    • 我注意到在 PI 上独立运行它们可能会成功,但是由于 kubernetes 框架的开销,在后台运行似乎对资源来说太多了。不过,您通常是对的,因为我认为我看到的许多其他资源都在按照 EFK 而不是 ELK 的方式做一些事情。幸运的是,由于有一个 Logstash docker 容器,因此您在 k8s 中创建了一个 Logstash 容器,我让它在更大的单节点集群上运行。我将了解如何测试您的约束并使用 GoogleCloudPlatform 进行测试
    猜你喜欢
    • 1970-01-01
    • 2021-12-07
    • 2019-09-08
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-05-05
    相关资源
    最近更新 更多