我目前正在努力在K8s中部署elasticseacrh集群。
谁能帮助我了解在我们的K8s集群内部还是外部部署ES集群的利弊? 预先感谢!

最佳答案

一个大的优点就是数据摄取。如果您的ES群集位于k8s群集中,则数据提取会更快。

但是,资源最大的缺点。 ES会比Google-chrome吞噬您的公羊更糟地浪费您的资源。我的意思是很多。

维护它会很麻烦。不确定您的用例,但如果要记录日志(在大多数情况下),通常云提供商就可以使用自己的解决方案。

如果不是,则:

我建议您在群集中为ES使用专用节点,否则,如果出现高峰并开始使用大量节点资源,则可能会影响其他Pod。

另外,请确保熟悉并优化冷热数据,这将节省大量时间和资源。

编辑

我没有强调加快数据提取的重要性,因此似乎不足以将其部署到集群中。底线很明显:网络延迟和带宽

这些事情真的可以加起来(从所有这些容器中收集所有这些日志,然后扩展这些相同的容器,然后扩展集群,然后再次...),因此每个单位都很重要。如果您的VM不会受到这两者的影响(这意味着它们的延迟与群集的任何其他节点相同),那么我认为这不会有太大的不同。

另一方面,我认为将它们从群集中分离出来并没有太大的好处。无论如何,它是基础架构的一部分。

如果明天您决定切换到AWS或GKE怎么办?您将必须更改部署,然后重新设置整个过程。另一方面,如果它已经是集群的一部分,则只需kubectl apply和🤷

我还可以猜测,您将尝试设置ELK堆栈。如果时间和好处允许,给fluentd一个机会(它与所有logstash客户100%兼容,但重量更重)。

关于elasticsearch - Kubernetes集群上的Elasticsearch集群进还是出?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/53483369/

10-16 18:17