现在的位置: 首页 > 架构设计 > 正文

k8s部署EFK框架

2019年12月30日 架构设计 ⁄ 共 1001字 ⁄ 字号 评论关闭

  EFK,ELK都是目前最为流行的分布式日志框架,主要实现了日志的收集,存储,分析等,它可以与docker容器进行结合,来收集docker的控制台日志,就是stdout日志.

elasticsearch.master_data_client说明

  默认情况下,每个节点都有成为主节点的资格,也会存储数据,还会处理客户端的请求。在一个生产集群中我们可以对这些节点的职责进行划分。

  建议集群中设置3台以上的节点作为master节点node.master:truenode.data:falsenode.ingest:false,这些节点只负责成为主节点,维护整个集群的状态。

  再根据数据量设置一批data节点node.master:falsenode.data:truenode.ingest:false,这些节点只负责存储数据,后期提供建立索引和查询索引的服务,这样的话如果用户请求比较频繁,这些节点的压力也会比较大

  所以在集群中建议再设置一批ingest节点也称之为client节点node.master:falsenode.data:falsenode.ingest:true,这些节点只负责处理用户请求,实现请求转发,负载均衡等功能。

  master节点:普通服务器即可(CPU内存消耗一般)

  data节点:主要消耗磁盘,内存

  client|ingest节点:普通服务器即可(如果要进行分组聚合操作的话,建议这个节点内存也分配多一点)

部署kibana

  构建镜像Dockerfile

  FROMdocker.elastic.co/kibana/kibana:6.4.2

  RUNbin/kibana-pluginremovex-pack

  生成镜像

  dockerbuild-tcfontes/kibana-xpack-less:6.4.2.

  部署到k8s里

  kubectlcreate-fkibana.yaml

  kubectlcreate-fkibana-svc.yaml

  注意:在这里有一个环境变量SERVER_BASEPATH,如果没有使用代理,这个值需要设为空,否则你的js,css和其它文件都是404,这块要注意一下;另外CLUSTER_NAME表示的是elasticsearch集群的名称。

  结束语:以上就是关于k8s部署EFK框架的全部内容,更多内容请关注学步园。

抱歉!评论已关闭.