Kubernets

kuberntes 日志管理-EFK框架

2019-04-17  本文已影响13人  条子在洗澡
k8s版本 1.11.1
系统 CentOS Linux release 7.6.1810 (Core)
master 192.168.199.130
node1 192.168.199.131
node2 192.168.199.132
k8s部署上篇 https://www.jianshu.com/p/19c5eacf2430
k8s部署下篇 https://www.jianshu.com/p/ed7917ecb26e
EFK框架:
Elasticsearch #是个开源分布式搜索引擎,具有分布式,零配置,自动发现,索引自动分片,索引副本机制,restful风格接口,多数据源,自动搜索负载等特性。
Fluentd#是一个完全开源的工具,他可以对日志进行收集、分析,并将其存储. 
Kibana #是一个开源和免费的工具,可以为 Logstash 和 ElasticSearch 提供的日志分析友的 Web 界面.

架构图.png
下载所需要的镜像
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/elasticsearch:v6.2.5
docker pull alpine:3.6
docker pull radial/busyboxplus:curl
docker pull registry.cn-shanghai.aliyuncs.com/k8s-log/kibana:6.2.4
docker pull registry.cn-hangzhou.aliyuncs.com/google_containers/fluentd-elasticsearch:v2.2.0

部署elasticsearch
#下载yaml文件
git clone https://github.com/mgxian/k8s-log.git

#创建namespace logging
kubectl create ns logging

#部署elasticsearch
cd k8s-log
kubectl apply -f elasticsearch.yaml

#查看pod创建情况
kubectl get pods,svc -n logging

#创建测试pod并进入tty
kubectl run curl -n logging --image=radial/busyboxplus:curl -i --tty

#pod中执行以下命令,看输出结果
nslookup elasticsearch-logging
curl 'http://elasticsearch-logging:9200/_cluster/health?pretty'
curl 'http://elasticsearch-logging:9200/_cat/nodes'
exit

部署kibana及fluentd
kubectl apply -f kibana.yaml
kubectl get pods,svc -n logging -o wide

#在浏览器里打开kibana的服务查看
kubectl label nodes --all beta.kubernetes.io/fluentd-ds-ready=true
kubectl apply -f fluentd-es-configmap.yaml
kubectl apply -f fluentd-es-ds.yaml
kubectl get pods,svc -n logging -o wide

浏览器访问ip:端口进入kibana
192.168.199.130:31110

management中创建索引
#1.添加index
fluentd-k8s-*

#2.选择timestamp,以时间戳显示,并创建

step1.png step2.png
上一篇下一篇

猜你喜欢

热点阅读