Kubernetes EFK(Elasticsearch+Fluentd+Kibana)日志系统部署(2020年9月无坑版)

一、部署环境:

• K8s nodes:1个master(2CPU\2GB内存)、2个worker node(2CPU\3GB内存)
• Centos 7.8(5.8.5-1.el7.elrepo.x86_64)
• Kubernetes v1.19.0
• Docker 19.03.12
• Elasticsearch镜像版本:elasticsearch:6.8.8
• Fluentd镜像版本:fluent/fluentd-kubernetes-daemonset:v1-debian-elasticsearch
• Kibana镜像版本:kibana:6.8.8

二、部署注意事项(填坑):

1、确认Kubernetes的环境是正常的:查看kube-DNS、kube-proxy、kube-apiserver等组件的日志有无异常,因我初次部署时Centos内核是3.10.x,该内核运行k8s有网络bug,经常出现网络异常,因此强烈建议将Centos升级到4.4.x以上的内核.

2、Elasticsearch拥有的内存权限至少需要262144,因此在部署前,在每个Node节点上执行:
sysctl -w vm.max_map_count=262144
sysctl -a|grep vm.max_map_count #查看
上述方法修改之后,如果重启虚拟机将失效,所以需要在 /etc/sysctl.conf文件最后添加一行:
vm.max_map_count=262144

3、出现“kibana server is not ready yet”,是因Kibana的ELASTICSERACH_URL地址配置错误,或elasticsearch部署有问题(如内存资源不够、内存权限不够、许可失效等);

4、注意EFK软件版本的匹配,Elasticsearch与Kibana的软件版本一定要相同,还有Fluentd的版本一定要能适配Kubernetes的;我开始几次部署都是Kibana抓不到Elasticsearch数据,创建不了Index Patterns索引,原因就是Fluentd版本匹配不了;

5、部署ELK组件后检查运行状态(192.168.100.1是我master节点的外网IP,可以换成你的node IP+定义的端口):
5.1、检查Elasticsearch集群工作状态:
http://192.168.100.1:31200/_cluster/health?pretty
在这里插入图片描述
5.2、检查Elasticsearch各组件的工作状态:
http://192.168.100.1:31200/_xpack?pretty

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 6
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值