[英]Elastic search cluster on Kubernetes Cluster vs VM
我想设置弹性堆栈(弹性搜索,logstash,beats和kibana)来监视运行在本地裸机上的kubernetes集群。 我需要针对以下两种方法提出一些建议,例如哪种方法更可靠,容错且具有生产级。 假设我有一个名为K8-abc的K8集群。
方法1-在kubernetes集群外部设置弹性堆栈会好吗?
在这种方法中,来自在kube-system命名空间和用户定义的命名空间中运行的pod的所有日志将由beats(在K8-abc上运行)获取,并放入通过Logstash在Linux Bare Metals上配置的ES群集中(也正在VM上运行)。 为了获取kubernetes节点日志,在相应VM(正在参与形成K8-abc的虚拟机)上运行的心跳将获取日志并将其放入在VM上配置的ES群集中。 这里要注意的是,用于形成ES群集的VM不是K8-abc的一部分。
方法2-在kubernetes集群k8-abc本身上设置弹性堆栈会好吗?
在这种方法中,所有来自在kube-system命名空间和用户定义的命名空间中运行的pod的日志都将通过logstash和beats(均在K8-abc上运行)发送到在K8-abc上配置的Elastic搜索集群。 为了获取K8-abc节点日志,在VM(参与形成K8-abc的虚拟机)上运行的心跳会将日志通过在k8-abc上运行的logstash放入在K8-abc上运行的ES中。
有人可以帮助我评估上述两种方法的利弊吗? 即使提供了指向博客和案例研究的相关链接,也会很有帮助。
我会更倾向于第二种解决方案 。 与第一个相比,它具有许多优点,但是在初始设置方面似乎更为复杂。 将任何其他类型的工作负载迁移到Kubernetes时,您实际上可以提出类似的问题。 与VM相比,它具有许多优势。 仅举几例:
以上所有这些点都可以轻松地应用于任何其他工作负载,并且通常被视为Kubernetes的优势,因此让我们看看为什么将其用于实现Elastic Stack :
可能还有许多其他原因使我没有在这里提到Kubernetes解决方案。 在这里,您可以找到有关在Kubernetes上设置高可用性和可伸缩Elasticsearch的动手文章 。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.